<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Classification XML Editor and External Classification Updates in Collaboration with other software</title>
    <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256593#M33555</link>
    <description>Thanks for the confirmation ..... this is what i was expecting.&lt;BR /&gt;
Is there an editor out there that can handle this???</description>
    <pubDate>Mon, 19 Nov 2018 17:34:55 GMT</pubDate>
    <dc:creator>gdford</dc:creator>
    <dc:date>2018-11-19T17:34:55Z</dc:date>
    <item>
      <title>Classification XML Editor and External Classification Updates</title>
      <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256591#M33553</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;&lt;T&gt;Classification XML editor&lt;BR /&gt;
What is the best editor for creating archicad classification system XML files external to archicad. I have not been able to tweak the excel merging of XML data and the non-repeating elements to generate an XML file that archicad will import without prior additional editing as Excel seems to leave out necessary items. Surly there exist an XML editor system that can be set up which will let me deal with the data and not have to cleanup all of the stuff that doesn't change. Preferably i could feed the new data in through an excel spread sheet or an Access database.  I understand  how to create an XML classification file that will import into archicad. My goal here is to merge new XML data into an existing XML file and need to deal with only the actual data and not the XML formatting or the XML header information that never changes. Someone must have a way to automate this??&lt;BR /&gt;
&lt;BR /&gt;
Anyone have thoughts on this?&lt;/T&gt;&lt;/DIV&gt;</description>
      <pubDate>Sun, 28 Oct 2018 19:43:06 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256591#M33553</guid>
      <dc:creator>gdford</dc:creator>
      <dc:date>2018-10-28T19:43:06Z</dc:date>
    </item>
    <item>
      <title>Re: Classification XML Editor and External Classification Updates</title>
      <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256592#M33554</link>
      <description>Usually with xml's from AC Excel doesn't work because the data structure is too complex for default XML deserialization procedure. In order to make it work you need some VB/C# script to handle reading and writing back proper XML structure.</description>
      <pubDate>Mon, 29 Oct 2018 14:45:56 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256592#M33554</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-10-29T14:45:56Z</dc:date>
    </item>
    <item>
      <title>Re: Classification XML Editor and External Classification Updates</title>
      <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256593#M33555</link>
      <description>Thanks for the confirmation ..... this is what i was expecting.&lt;BR /&gt;
Is there an editor out there that can handle this???</description>
      <pubDate>Mon, 19 Nov 2018 17:34:55 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256593#M33555</guid>
      <dc:creator>gdford</dc:creator>
      <dc:date>2018-11-19T17:34:55Z</dc:date>
    </item>
    <item>
      <title>Re: Classification XML Editor and External Classification Updates</title>
      <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256594#M33556</link>
      <description>Looking for an answer to this question, I came across this topic. Still relevant imho...&lt;BR /&gt;
&lt;BR /&gt;
I have a simple "office" Classification looking like this:&lt;BR /&gt;
&lt;BR /&gt;
&lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;10. Chapter 10&lt;BR /&gt;
   ⎣10.00. Chapter 10 - general&lt;BR /&gt;
   ⎣10.01. Chapter 10, part 01&lt;BR /&gt;
   ⎣_10.01.01. Chapter 10, part 01, element type 01&lt;BR /&gt;
   ⎣_10.01.02. Chapter 10, part 01, element type 02&lt;BR /&gt;
   ⎣10.02. Chapter 10, part 02&lt;BR /&gt;
20. Chapter 20&lt;BR /&gt;
   ⎣20.00. Chapter 20 - general&lt;BR /&gt;
   ⎣20.01. Chapter 20, part 01&lt;BR /&gt;
       ⎣_20.01.01. Chapter 20, part 01, element type 01&lt;BR /&gt;
       ⎣_20.01.02. Chapter 20, part 01, element type 02&lt;E&gt;&lt;/E&gt;&lt;BR /&gt;
&lt;BR /&gt;
I have the whole "outline" in a Word-doc/Excel-sheet, but would love to 'migrate' this to AC-classification, without to much manual typing... Seems straightforward, but alas...&lt;BR /&gt;
&lt;BR /&gt;
Any thoughts on XML-editors helping in the process (I tried Atom and Xcode)</description>
      <pubDate>Thu, 12 Nov 2020 14:41:03 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256594#M33556</guid>
      <dc:creator>Ruben V</dc:creator>
      <dc:date>2020-11-12T14:41:03Z</dc:date>
    </item>
    <item>
      <title>Re: Classification XML Editor and External Classification Updates</title>
      <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256595#M33557</link>
      <description>To my knowledge the answer is no, but there are many xml editors out there and it is possible that there is one that you can teach the archicad expected format and supply it with the data via a spreadsheet and off it will go. Excel can take your list and export it into XML and in theory i believe there is a way to teach excel the required format but i could not figure out how to do it. I built my own xlm generator in excel using visual basic. I proved it can be done, but it is not a general all purpose classification generator. It was very specific to my needs. The best solution is to hire an excel visual basic programmer to build you a classification generator. You could probably get this done for a few hundred dollars as there are millions of excel programmers all over the planet looking for work. Then you could just enter your classification in the spreadsheet and let the visual basic code create the xml file.&lt;BR /&gt;
If you haven't already inspected archicad classification format you can export any of the default classification systems and inspect the xml using Notepad++. This can be a bit overwhelming. To really understand how the xml is put together build a new very small classification system and export it for study. Make small changes in the classification system and see how that changes the exported XML.&lt;BR /&gt;
I feel your pain.</description>
      <pubDate>Fri, 20 Nov 2020 05:51:22 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256595#M33557</guid>
      <dc:creator>gdford</dc:creator>
      <dc:date>2020-11-20T05:51:22Z</dc:date>
    </item>
    <item>
      <title>Re: Classification XML Editor and External Classification Updates</title>
      <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256596#M33558</link>
      <description>Thanks for the reply. Unfortunately on my Mac, VBA is not really an option... Maybe Applescript would work or even Python in Archicad. I'll see if I can come up with a solution.</description>
      <pubDate>Sun, 22 Nov 2020 19:39:35 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256596#M33558</guid>
      <dc:creator>Ruben V</dc:creator>
      <dc:date>2020-11-22T19:39:35Z</dc:date>
    </item>
    <item>
      <title>Re: Classification XML Editor and External Classification Updates</title>
      <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256597#M33559</link>
      <description>My understanding is that Apple does not implement scripting in excel....&lt;BR /&gt;
However you could hire someone to just code this from scratch.</description>
      <pubDate>Mon, 30 Nov 2020 15:53:18 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/256597#M33559</guid>
      <dc:creator>gdford</dc:creator>
      <dc:date>2020-11-30T15:53:18Z</dc:date>
    </item>
    <item>
      <title>Re: Classification XML Editor and External Classification Updates</title>
      <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/376240#M42209</link>
      <description>&lt;P&gt;In the past, I once created an &lt;STRONG&gt;elaborate Excel with formulas (no VBA)&lt;/STRONG&gt; to generate the different text fragments I needed for the XML. But that was too much effort and hardly reusable. And I had to copy-paste the text into the XML manually.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I recently used a &lt;STRONG&gt;custom Python script&lt;/STRONG&gt; to convert existing classifications in the format Archicad expects. One was starting from an Excel table (CCTB), the other from an XML file (ETIM).&lt;/P&gt;
&lt;P&gt;Archicad expects a certain XML structure of tags, before it accepts a classification import.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's not a generic plug-and-play for ANY Excel, but it was not too much work either. Most work was figuring out a correct hierarchy from the numbering in the source Excel. The rest is straightforward.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;E.g. reading the Excel&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;import openpyxl
import xml.etree.ElementTree as ET

####################################################################
# Parse Excel file
####################################################################
print("Parsing Excel File")
workbook = openpyxl.load_workbook(input, data_only=True) # ignore formulas
# Dict to keep items (flat, at this point)
itemsFlat = {}
for worksheet in workbook:
    for row in worksheet.iter_rows():
        code = row[0].value
        description = row[1].value
        itemsFlat[code] = description&lt;/LI-CODE&gt;
&lt;P&gt;And then setting up a suitable XML structure is something like this:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# root
buildingInformation = ET.Element('BuildingInformation')
classification = ET.SubElement(buildingInformation, 'Classification')

# Classification System
system = ET.SubElement(classification, 'System')
name = ET.SubElement(system, 'Name')
name.text = systemName
editionVersion = ET.SubElement(system, 'EditionVersion')
editionVersion.text = version

editionDate = ET.SubElement(system, 'EditionDate')
year = ET.SubElement(editionDate, 'Year')
year.text = dateYear
month = ET.SubElement(editionDate, 'Month')
month.text = dateMonth
day = ET.SubElement(editionDate, 'Day')
day.text = dateDay
description = ET.SubElement(system, 'Description')
description.text = systemDescription
source = ET.SubElement(system, 'Source')
source.text = systemSource

# Items
items = ET.SubElement(system, 'Items')&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then there is a specific section to parse and interpret the strings from Excel into a structure that suits Archicad... I parse the "itemsFlat" dictionary and for each items calls a custom "writeItem" function which takes a parent XML item and the two strings (ID and Name) to be added to the 'Items' tag (created in the last line of the previous fragment).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And finally writing the XML:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;## Write the XML (with proper encoding header string)
tree = ET.ElementTree("tree")
tree._setroot(buildingInformation)
tree.write(systemName + "_" + version + ".xml", encoding="UTF-8", xml_declaration= True)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Apr 2023 08:32:31 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/376240#M42209</guid>
      <dc:creator>stefan</dc:creator>
      <dc:date>2023-04-11T08:32:31Z</dc:date>
    </item>
    <item>
      <title>Re: Classification XML Editor and External Classification Updates</title>
      <link>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/652097#M43707</link>
      <description>&lt;P&gt;Try this addon !&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.graphisoft.com/t5/Project-data-BIM/XL2XML-Classification-manager-Open-source/td-p/609016" target="_blank"&gt;XL2XML Classification manager - Open source - Graphisoft Community&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Feb 2025 19:52:15 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Collaboration-with-other/Classification-XML-Editor-and-External-Classification-Updates/m-p/652097#M43707</guid>
      <dc:creator>Ahmed_K</dc:creator>
      <dc:date>2025-02-17T19:52:15Z</dc:date>
    </item>
  </channel>
</rss>

