opml export missing text (scrivenings)


I am trying to get OPML export to include the full text of my scrivener project rather than only the headings. I have tried the different export options (tic-boxes) but nothing seems to work. Each time I open the OPML file in Mindnode it’s missing the body text (paragraphs). What am I doing wrong?

It doesn’t look like MindNode supports the “_note” attribute that is used to add text beyond the title. As far as I can tell, it only uses the “text” attribute, which is where Scrivener places the title. You’d need to edit the XML of the exported OPML in a text editor to include all the document text as part of the “text” attribute along with the title.

Thank you for the suggestion. Unfortunately I don’t know the first thing about XML editing. I wonder if there might be other mind-mapping apps that successfully interpret the full text contents of Scrivener’s OPML export, or a script/converter that could make the necessary XML edits for me?

I think OPML export will not get you what you want. I explain why I think this at the end of this post, but up top: a positive suggestion.

Custom Compile might be the answer for you. I mean, what if we shot for tab-indented text output. Your mindmap software will take that for sure. And we can get within spitting distance of that with Compile. Here are several suggestive Compile settings:

A) Under Compile > Formatting, You can specify for each level of document an indent value not only for the title of the document but also for the content of the document. So you could set the textual content of a document to a level of intent one greater than is the title. You would also need each level of indent to indent by the same unit amount.

B) Under compile >transformations, you can have indents converted to plaintext. (We would need this, so indent levels will not be represented by formatting in the output, but by (detectable, searchable, replaceable) indent characters.)

If you played with these settings, you could get compile output in which the different paragraphs representing title or body text would be space-indented in a way that corresponded to your binder hierarchy but also included (because you included it in your compile) your body text as outline elements. That wouldn’t get us quite home yet, because the indentation is going to be by multiple spaces and that probably won’t get taken in properly by your mindmap software, but it would be an easy matter to do a search and replace (in your word processing program) for every triple of spaces (if that’s what it is) to convert that into a tab. Then you would have a tab-indented text document that you could open in your mind map software.

The main bugaboo here will be that each paragraph of your body text will become a separate child node of the title node of that document and maybe that’s not what you wanted. But I’m sort of figuring that if you’re trying to get the body text of documents to show up in mindmap nodes in the first place, your body text must be very short and reasonably well behaved – – else your mind map software would implode anyway.

I’m not a Compile wizard myself, but these pieces suggest to me that maybe there’s a way for you to get what you want with a little custom compile mojo. And, of course, once you figure out the right settings needed, you can save those Compile settings to call up later.


The remainder of this post is my explanation of why OPML export will not give you what you want:

Sounds like you want the document contents to end up being recognized as a child node of the title of the document. Now, when you include the body text in your OPML export, Scrivener includes that text as the value of the ‘note’ property of the title’s node in the outline.*

<outline title="yourDocTitleHere" note="yourBodyTextHere">...</outline>
  1. It is entirely unlikely that any mindmap software would interpret a property of a node as instead a child of that node – which is what you are asking for.

  2. I think you might reasonably expect that mindmap software that lets you attach arbitrary text notes to nodes (aside from the node text itself) would import the note property of an OPML node as, well, a note. But life is not that sweet. For example, MindJet MindManager is a well-established product and has the note facility, but just tosses the note proprety of OPML imports.

  3. In theory OPML is just a particular kind of XML file and so a bit of XSLT code ought to be able to produce for you the output you want. Shouldn’t be a complicated bit of code and could probably be executed just with your browser. So, if a curious coder happens by maybe they will make one for you. BUT since Scriv is stuffing your body text into what is in essence a quote-delimited field, the XML format of your file is almost surely broken – if your body text includes any newline chars or double-quote marks or a host of other otherwise innocent things. Bound to choke up the simple XSLT routine that we dreamed of.

  4. Finally, it goes without saying that, if your documents contain very much text at all, your mindmap software would probably implode, because individual mindmap nodes are not really designed to hold large amounts of text. In some programs they cannot even have carriage returns in them.

–Greg (again)

*That will seem an odd choice, but it has to do with the fact that your document contents are not in fact located in the tree topology of the outline at all. OPML does not offer many options here.

Thanks for your extensive reply Greg. I’ll give your tab-indented tip a go but wait on the xml stuff. Let me just add that I like to use the OPML import/export with mind-mapping during the early stages of writing when I am trying to tinker between the outline stage and pre-draft stage. For this I like to work with headings and subheadings together with short paragraphs that retain the section ideas.I might generate this work in Scrivener and rearrange in mindmapping or the other way round.

This is why I wish I could use OPML between Scrivener and Scapple and I’ve never understood why they don’t include that feature - even if it gave a pile of text boxed that could be dragged around.

I am a dedicated mindmap user, also, but I just work the mindmap-to-Scrivener direction. This means hammering at the mindmap until I get it good and worked,* but that has so far suited my temperament well.

I am curious to know if, given the way you work, the following would seem like a useful ability: being able to specify for a given node of a mindmap that you wanted everything below it to show up as the document content of that node. Most of your mindmap would become binder structure on the import, but the parts you specify would become document contents. Would that do something useful in your way of working or not really? I ask because I have a script for that purpose that I have been thinking of posting to the forums.


  • It is not that one has to work everything out first down to the nails, but in the main; and then other bits of the map that get fleshed out later can get imported when they are ready to go.

Sure Greg, go ahead and post if you wish… I always enjoy a little tinkering. :slight_smile:

Thanks again