Fcpxml To Xml Converter 💯
class FCPXMLConverter: def __init__(self, input_file, output_file=None, pretty=True, strip_namespace=True): self.input_file = input_file self.output_file = output_file self.pretty = pretty self.strip_namespace = strip_namespace self.tree = None self.root = None
def strip_namespaces(self, element): """Remove namespace prefixes from element tags.""" # Process element tag if '}' in element.tag: element.tag = element.tag.split('}', 1)[1] # Process attributes (remove namespace from attribute names if any) new_attrs = {} for attr, value in element.attrib.items(): if '}' in attr: new_attr = attr.split('}', 1)[1] else: new_attr = attr new_attrs[new_attr] = value element.attrib.clear() element.attrib.update(new_attrs) # Recursively process children for child in element: self.strip_namespaces(child) Fcpxml To Xml Converter
def load_fcpxml(self): """Load and parse FCPXML file.""" try: # Register namespaces to avoid ns0, ns1 prefixes ET.register_namespace('', 'http://ns.apple.com/fcpxml/1.0') ET.register_namespace('xsi', 'http://www.w3.org/2001/XMLSchema-instance') self.tree = ET.parse(self.input_file) self.root = self.tree.getroot() return True except ET.ParseError as e: print(f"Error parsing FCPXML: {e}") return False except FileNotFoundError: print(f"File not found: {self.input_file}") return False class FCPXMLConverter: def __init__(self