How do I clear the sharedLibraryURL attribute of the DOMDocument element of the Flash XFL format?

75 views Asked by At

I'm running into a very strange problem where I cannot import a particular symbol and I've finally narrowed it down by saving out the FLA to XFL and inspecting the DOMDocument.xml to find that the symbol in question is defined in the sharedLibraryURL attribute. If I clear out this attribute by hand it fixes the problem, but I cannot find a way to inspect this value in Flash CS6.

After converting some other FLA files to XFL I can see they are all filled with seemingly random values for sharedLibraryURL, which means this problem could potentially happen anywhere in our project.

Does anyone know what this attribute is for? More importantly, is there some way to modify it within Flash CS6 and stop it from being populated without having to convert to XFL and back?

For reference, here is the opening element of the DOMDocument.xml (I renamed the swf to problem_file.swf):

<DOMDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ns.adobe.com/xfl/2008/"
backgroundColor="#666666" width="1920" height="1080" frameRate="30" currentTimeline="1" xflVersion="2.2"
creatorInfo="Adobe Flash Professional CS6" platform="Windows" versionInfo="Saved by Adobe Flash Windows 12.0 build 537"
majorVersion="12" buildNumber="537" pixelSnap="true" viewAngle3D="122.353661987282"
sharedLibraryURL="problem_file.swf" nextSceneIdentifier="12" playOptionsPlayLoop="false"
playOptionsPlayPages="false">

EDIT: I partially figured this out. That attribute gets added when you create a symbol and check the "Export for runtime sharing" checkbox in the properties. Whatever value you specify for the URL gets saved as the sharedLibraryURL. The problem is that once this attribute exists there's no obvious way to clear it. If I delete the symbol it just stays there. The reason it has such random values all over the FLAs is because we tend to copy from an existing FLA when creating new ones, which copies over the dead attribute value and causes this issue.

So now I know the cause, but I still have no idea how to clear it...

1

There are 1 answers

0
Justin G On

This problem can be "fixed" by doing the following:

  1. From the Library panel, right-click and select "New Symbol...".
  2. Click on the "Export for runtime sharing" checkbox and it should automatically populate the URL field, showing you what the current value is.
  3. Fill in some different value that is likely not to conflict with anything else. I put in "1.swf".
  4. Click on OK to create the symbol.
  5. Delete the symbol from the library.

This will change the value of sharedLibraryURL to whatever you specify as the new URL, allowing you to import without any issue.

This is a really dumb solution, but it's the only thing I could figure out for the short term. I'm hoping that somebody else has a better way to deal with this.