Eddie AI

BlogHow-to

How to Fix FCPXML Import Errors in Final Cut Pro

Fix FCPXML import errors in Final Cut Pro — Eddie AI blog cover
On this page
  1. The short answer
  2. Find your error in this table
  3. Which FCPXML version each Final Cut Pro writes
  4. Fix "DTD version is not recognized"
  5. Fix "DTD validation failed"
  6. Fix a .fcpxmld bundle the other app cannot open
  7. When the FCPXML comes from Eddie
  8. What it will not do
  9. FAQ
  10. Sources

In Summary "DTD version is not recognized" almost always means the FCPXML was written by a newer Final Cut Pro, or a newer tool, than the one you are importing into. Re-export it from the newer app with File > Export XML and pick an older XML version. "DTD validation failed" means the file says it is one version but its contents do not match that version's rules. Apple's own documentation says Final Cut Pro then rejects the whole import. Fix the app that wrote the file, not the file.

The short answer

Every FCPXML file starts by naming its version, for example <fcpxml version="1.10">. Final Cut Pro checks the file against the document type definition (DTD) for that version before it imports anything. Two different things can go wrong at that check:

  • Final Cut does not know the version. You get "DTD version is not recognized". In the Apple Discussions threads, this is nearly always a file from a newer Final Cut opened in an older one, such as a 1.13 file opened in Final Cut Pro 10.6.9.
  • Final Cut knows the version, but the file breaks its rules. You get "The XML document could not be imported. DTD validation failed.", often followed by a line such as "Element asset content does not follow the DTD". Apple's DTD page says that when a document does not match the DTD, "Final Cut Pro rejects the import operation completely". You get no partial import and no offline clips.

A third family of errors comes after the DTD check. Apple notes that a file can match the DTD and still fail on invalid data, such as a media path or a duration Final Cut cannot use.

Find your error in this table

What Final Cut saysWhat it usually meansWhat to do
"DTD version is not recognized"The file's version is newer than your Final Cut ProRe-export from the newer app as an older XML version, or update Final Cut on the receiving Mac
"DTD validation failed" plus "Element … does not follow the DTD"The file's contents do not match the DTD of the version it claims. Common causes: a third-party tool wrote an element in the wrong place, someone hand-edited the version number, or the file is damagedRe-export from the app that wrote it. If that app is not Final Cut, update it or report the error line to its developer
The receiving app will not open your export, which is a folder ending in .fcpxmldIt is an FCPXML bundle (version 1.10 and later), and the app only reads single .fcpxml filesPoint the app at Info.fcpxml inside the bundle, or use an app that supports bundles
"Encountered an unexpected value" or "An offline clip was not created because of insufficient data"The file passed the DTD, but some data in it is not usableCheck the clip the error names: its media path, its duration and its frame rate
"Inappropriate file type or format"Final Cut cannot decode one of the source file types the XML names, and refuses the whole fileSee Final Cut won't import the XML. Blackmagic RAW without its plugin is the usual case

Which FCPXML version each Final Cut Pro writes

These are the versions Apple names in the Final Cut Pro release notes. Versions the release notes do not name (1.3, 1.8 and 1.11) are left out, rather than guessed.

Final Cut ProFCPXML versionNotes from Apple
10.0.31.1
10.0.61.2
10.21.51.4 kept for legacy third-party apps
10.31.6
10.41.7
10.4.91.9Apple's developer reference says FCPXML 1.9 requires 10.4.9 or later
10.61.10Bundle format (.fcpxmld) introduced
10.81.12
11.01.13
12.01.14No later version is named in the notes through 12.4

In practice, an older Final Cut cannot read a version that came out after it. One of the threads below shows a 1.11, 1.12 or 1.13 file failing in 10.6.9 with exactly that message. Going the other way usually works. The 10.2 notes say 1.4 "continues to be supported" for legacy third-party apps, and the 10.6.1 notes fix an issue that "could prevent successful import of FCPXML 1.9 and 1.10 files". One thread does report very old exports from a discontinued sync tool failing in 10.6, so if the file comes from an old tool, try re-exporting it from a current version of that tool first.

Fix "DTD version is not recognized"

The file is too new for the Final Cut that is opening it. Go back to the Mac or the app that made it.

  1. In the newer Final Cut Pro, select the project, event, clip or library. To export the project open in the timeline, click in the timeline first.
  2. Choose File > Export XML.
  3. Name the file and choose where to save it.
  4. Choose a metadata view from the Metadata View pop-up menu.
  5. Choose the XML version. Apple's guide offers "the current version, or one of two previous versions". Pick the newest version the receiving Final Cut can read, using the table above.
  6. Click Save, then on the older Mac choose File > Import > XML and select the file.

Two previous versions do not always reach far enough. A Final Cut Pro 12 export cannot step down to 1.10 for a Mac on 10.6.9, for example. In that case, update Final Cut on the older Mac if its macOS allows it. Otherwise, pass the file through an intermediate Final Cut version that can read the new file and write an older one.

Do not just edit the version number. It is tempting to open the file and change version="1.13" to version="1.10". This only works if nothing in the file is newer than 1.10. If anything is, the file no longer matches the DTD it claims, and you trade "not recognized" for "validation failed".

Fix "DTD validation failed"

The line after the error is the useful part. It names the element that broke the rules, for example "Element asset content does not follow the DTD, expecting (media-rep+ , metadata?)". That tells you what the DTD expected inside asset and that something else was there.

  1. Find out who wrote the file. If it came from a plug-in, a sync tool, an asset manager or a script, the problem is in that tool's output. Update the tool and export again.
  2. Re-export from Final Cut if Final Cut wrote it. In one Apple Discussions thread, the advice was to re-export from the current version and test the import in a new library, because the file was most likely damaged during export.
  3. Check whether the file was edited by hand. A changed version number, a broken find-and-replace or a file that was cut off during a transfer all fail here.
  4. For developers: validate against Apple's DTD. Apple publishes the FCPXML 1.10 DTD and links older ones from the Final Cut Pro support page. Apple also says a valid FCPXML "must conform to the document type definition (DTD)" and be encoded in Unicode.

Fix a .fcpxmld bundle the other app cannot open

From Final Cut Pro 10.6, exports at FCPXML 1.10 or later are bundles: a folder with a .fcpxmld extension that the Finder shows as one file. Apple's bundle reference says the simplest bundle holds an Info.fcpxml file at its root, and that file describes the export.

If a tool only accepts .fcpxml:

  1. In the Finder, Control-click the .fcpxmld bundle and choose Show Package Contents.
  2. Give the tool the Info.fcpxml file inside.

A bundle can also carry files that Info.fcpxml refers to. Apple describes it as a way to keep the FCPXML "and any files it references together". If you copy Info.fcpxml out on its own, keep it next to the rest of the bundle's contents. When 1.10 was the current version, Apple's developer guide noted that the previous version, 1.9, exports as a single .fcpxml file.

When the FCPXML comes from Eddie

Eddie exports an edit as an FCPXML for Final Cut Pro. The file carries the cut, the clip order and the timing, and it points at your original media rather than copying it. On the Final Cut Pro workflow, you drag clips and projects from your event into Eddie, and drag the finished edit back into the event, where the clips relink.

Eddie's exports can be refused too. The case we have tested and written up is a source file type your copy of Final Cut cannot decode, such as Blackmagic RAW without its plugin. Final Cut won't import the XML covers the measured cause and three ways round it. For the full export round trip to Final Cut, Premiere Pro and DaVinci Resolve, see how to export an AI edit.

What it will not do

  • Eddie does not repair or convert other apps' FCPXML files. If a third-party tool wrote a file that fails validation, the fix is in that tool.
  • Re-exporting cannot recover what an older version cannot describe. Apple says features such as object tracking and Cinematic mode video need FCPXML 1.10 or later. If you step a project down to 1.9, expect those to be missing.
  • FCPXML is not a full project. Apple's developer reference says FCPXML describes "certain, but not all, aspects of projects and events" and is not a substitute for a Final Cut library. To move a whole library between two Macs on the same Final Cut version, copy the library instead.

FAQ

What does "DTD" mean in a Final Cut Pro error?

DTD stands for document type definition. It is Apple's rulebook for each FCPXML version: which elements exist, what each one can contain and in what order. Final Cut checks every imported file against the DTD of the version the file names.

How do I see which FCPXML version a file is?

Open the .fcpxml file, or the Info.fcpxml inside a .fcpxmld bundle, in a text editor. The version is on the root element near the top, for example <fcpxml version="1.12">.

Can Final Cut Pro 10.6 open an XML from Final Cut Pro 11 or 12?

Not directly. Final Cut Pro 11.0 writes 1.13 and 12.0 writes 1.14, according to Apple's release notes. Neither is a version 10.6 knows, so it reports that the DTD version is not recognized. Export an older XML version from the newer Final Cut, or update the older Mac.

Why does the XML version menu only offer three choices?

Apple's guide says Final Cut offers the current version and two previous versions. You should normally choose the current one, and pick an older one only when the app receiving the file does not recognize the current version.

Will a DTD error import part of my project?

No. Apple's documentation says a document that does not match the DTD is rejected completely. Apple adds that a file which does match the DTD can still fail on invalid data, so passing the DTD check is not a guarantee either.

Is my media inside the FCPXML?

No. FCPXML describes media by file location. Apple's developer guide says Final Cut must have access to every media file the document references, so check that drives are mounted before you import.

Sources

From raw footage to finished edit.

Start with one prompt. Your first 500 credits are free.

Start free

From raw footage to finished edit.

Start with one prompt. Your first 500 credits are free.