| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod GetColumnXML ( | 
|   const constcontent LocalRows rows, | 
|   const LocalColumn column, | 
|   const Strings attributeNames, | 
|   String type, | 
|   const MacroPlan macroPlan | 
| ) const as String | 
| { | 
|   TextBody: | 
|   [* | 
|     // rislai Jun-21-2024 (created) | 
|     // rislai Jun-20-2024 (created) | 
|     columnXML := ""; | 
|     cells := selectsortedset( column, LocalCell.astype( LocalCell_OfflinePlanComparison ), cell, | 
|                                   exists( rows,Elements,element,element = cell.LocalRow()), cell.LocalRow().Index()); | 
|     if( type = "data" ){ | 
|       columnXML := ""; | 
|       if( column.IsAttrbuteColumn() ){ | 
|         columnXML := "<column><name>" + column.Name() + "</name><type>String</type>";  | 
|       }else{ | 
|         columnXML := "<column><name>" + column.Date().Format( "Y/M2/D2") + "</name><type>Number</type>";  | 
|       } | 
|       traverse ( cells, Elements, cell ) { | 
|         traverse( attributeNames ,Elements,e ){ | 
|           cellXML := '<cell value="' + cell.GetAttributeByName( e ) + '"/>' | 
|           columnXML := columnXML + cellXML; | 
|         } | 
|       } | 
|       columnXML := columnXML + "</column>"; | 
|     } | 
|     if( type = "attribute" ){ | 
|     //  columnXML0_1 := "<column><name>Sales Segment</name><type>String</type>"; | 
|     //  columnXML0_2 := "<column><name>Generation</name><type>String</type>"; | 
|     //  columnXML0_3 := "<column><name>MQB/MLB</name><type>String</type>"; | 
|     //  columnXML0_4 := "<column><name>功率</name><type>String</type>"; | 
|        | 
|       columnXML1 := "<column><name>Line</name><type>String</type>"; | 
|       columnXML2 := "<column><name>Attribute</name><type>String</type>"; | 
|        | 
|       traverse ( cells, Elements, cell ) { | 
|         flag := true; | 
|         traverse( attributeNames ,Elements,e ){ | 
|           if( flag ){ | 
|             cellXML := '<cell value="' + cell.LocalRow().Name() + '"/>' | 
|             columnXML1 := columnXML1 + cellXML; | 
|              | 
|             flag := false; | 
|           }else{ | 
|             cellXML := '<cell value="  "/>' | 
|             columnXML1 := columnXML1 + cellXML; | 
|           } | 
|           cellXML := '<cell value="' + e + '"/>' | 
|           columnXML2 := columnXML2 + cellXML; | 
|         } | 
|       } | 
|       columnXML := columnXML1 + "</column>" + columnXML2 + "</column>"; | 
|     } | 
|       | 
|     return columnXML; | 
|   *] | 
| } |