| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 4.26b --> |
<!-- Field: Doc-Info; Name: VendorURI; Value: http://www.novaworks.co --> |
<!-- Field: Doc-Info; Name: Source; Value: spi_20f%2D2018.xfr; Date: 2019%2D04%2D30T20:10:32Z --> |
<!-- Field: Doc-Info; Name: Status; Value: 0x00000000 --> |
<!-- Field: Doc-Info; Name: Misc; Value: +Kopo7xRiXgen8uEbXpMOaaMqaPty552mYkxvmRyfRl67yIvmy9rKiPFWyo2oW8C --> |
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2018-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2018-01-31" xmlns:us-roles="http://fasb.org/us-roles/2018-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:us-types="http://fasb.org/us-types/2018-01-31" xmlns:spi="http://spisolar.com/20181231" elementFormDefault="qualified" targetNamespace="http://spisolar.com/20181231"> |
| <annotation> |
| | <appinfo> |
| | | <link:roleType roleURI="http://spisolar.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation"> |
| <link:definition> 00000001 - Document - Document and Entity Information </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/StatementConsolidatedBalanceSheets" id="StatementConsolidatedBalanceSheets"> |
| <link:definition> 00000002 - Statement - CONSOLIDATED BALANCE SHEETS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical"> |
| <link:definition> 00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ConsolidatedStatementsOfOperations" id="ConsolidatedStatementsOfOperations"> |
| <link:definition> 00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/StatementConsolidatedStatementsOfComprehensiveLoss" id="StatementConsolidatedStatementsOfComprehensiveLoss"> |
| <link:definition> 00000005 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ConsolidatedStatementsOfEquityDeficit" id="ConsolidatedStatementsOfEquityDeficit"> |
| <link:definition> 00000006 - Statement - CONSOLIDATED STATEMENTS OF EQUITY (DEFICIT) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows"> |
| <link:definition> 00000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ReconciliationOfCash" id="ReconciliationOfCash"> |
| <link:definition> 00000008 - Statement - Reconciliation of Cash </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DescriptionOfBusinessAndOrganization" id="DescriptionOfBusinessAndOrganization"> |
| <link:definition> 00000009 - Disclosure - 1. Description of Business and Organization </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/GoingConcern" id="GoingConcern"> |
| <link:definition> 00000010 - Disclosure - 2. Going Concern </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies"> |
| <link:definition> 00000011 - Disclosure - 3. Summary of Significant Accounting Policies </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DispositionOfSpiChina" id="DispositionOfSpiChina"> |
| <link:definition> 00000012 - Disclosure - 4. Disposition of SPI China </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/BusinessAcquisitions" id="BusinessAcquisitions"> |
| <link:definition> 00000013 - Disclosure - 5. Business Acquisitions </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DeconsolidationOfSinsin" id="DeconsolidationOfSinsin"> |
| <link:definition> 00000014 - Disclosure - 6. Deconsolidation of Sinsin </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/RestrictedCash" id="RestrictedCash"> |
| <link:definition> 00000015 - Disclosure - 7. Restricted Cash </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/AccountsReceivable" id="AccountsReceivable"> |
| <link:definition> 00000016 - Disclosure - 8. Accounts Receivable </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/InventoriesNet" id="InventoriesNet"> |
| <link:definition> 00000017 - Disclosure - 9. Inventories, net </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ProjectAssets" id="ProjectAssets"> |
| <link:definition> 00000018 - Disclosure - 10. Project Assets </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/PrepaidExpensesAndOtherCurrentAssets" id="PrepaidExpensesAndOtherCurrentAssets"> |
| <link:definition> 00000019 - Disclosure - 11. Prepaid Expenses and Other Current Assets </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IntangibleAssets" id="IntangibleAssets"> |
| <link:definition> 00000020 - Disclosure - 12. Intangible Assets </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Goodwill" id="Goodwill"> |
| <link:definition> 00000021 - Disclosure - 13. Goodwill </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/PropertyPlantAndEquipment" id="PropertyPlantAndEquipment"> |
| <link:definition> 00000022 - Disclosure - 14. Property, Plant and Equipment </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/InvestmentInAffiliates" id="InvestmentInAffiliates"> |
| <link:definition> 00000023 - Disclosure - 15. Investment in Affiliates </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/FairValueMeasurement" id="FairValueMeasurement"> |
| <link:definition> 00000024 - Disclosure - 16. Fair Value Measurement </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/AccruedLiabilities" id="AccruedLiabilities"> |
| <link:definition> 00000025 - Disclosure - 17. Accrued Liabilities </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/AdvanceFromCustomers" id="AdvanceFromCustomers"> |
| <link:definition> 00000026 - Disclosure - 18. Advance From Customers </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Short-termBorrowingsAndLong-termBorrowings" id="Short-termBorrowingsAndLong-termBorrowings"> |
| <link:definition> 00000027 - Disclosure - 19. Short-term Borrowings and Long-term Borrowings </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ConvertibleBonds" id="ConvertibleBonds"> |
| <link:definition> 00000028 - Disclosure - 20. Convertible Bonds </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/OtherLiabilities" id="OtherLiabilities"> |
| <link:definition> 00000029 - Disclosure - 21. Other Liabilities </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ShareholdersEquityDeficit" id="ShareholdersEquityDeficit"> |
| <link:definition> 00000030 - Disclosure - 22. Shareholders' Equity (Deficit) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Share-basedCompensation" id="Share-basedCompensation"> |
| <link:definition> 00000031 - Disclosure - 23. Share-based Compensation </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IncomeTaxes" id="IncomeTaxes"> |
| <link:definition> 00000032 - Disclosure - 24. Income Taxes </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/NetLossPerShare" id="NetLossPerShare"> |
| <link:definition> 00000033 - Disclosure - 25. Net Loss Per Share </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies"> |
| <link:definition> 00000034 - Disclosure - 26. Commitments and Contingencies </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ConcentrationRisk" id="ConcentrationRisk"> |
| <link:definition> 00000035 - Disclosure - 27. Concentration Risk </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SegmentInformation" id="SegmentInformation"> |
| <link:definition> 00000036 - Disclosure - 28. Segment information </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/RelatedPartyTransactions" id="RelatedPartyTransactions"> |
| <link:definition> 00000037 - Disclosure - 29. Related Party Transactions </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SubsequentEvents" id="SubsequentEvents"> |
| <link:definition> 00000038 - Disclosure - 30. Subsequent Events </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies"> |
| <link:definition> 00000039 - Disclosure - 3. Summary of Significant Accounting Policies (Policies) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DescriptionOfBusinessAndOrganizationTables" id="DescriptionOfBusinessAndOrganizationTables"> |
| <link:definition> 00000040 - Disclosure - 1. Description of Business and Organization (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SummaryOfSignificantAccountingPoliciesTables" id="SummaryOfSignificantAccountingPoliciesTables"> |
| <link:definition> 00000041 - Disclosure - 3. Summary of Significant Accounting Policies (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DispositionOfSpiChinaTables" id="DispositionOfSpiChinaTables"> |
| <link:definition> 00000042 - Disclosure - 4. Disposition of SPI China (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/BusinessAcquisitionsTables" id="BusinessAcquisitionsTables"> |
| <link:definition> 00000043 - Disclosure - 5. Business Acquisitions (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DeconsolidationOfSinsinTables" id="DeconsolidationOfSinsinTables"> |
| <link:definition> 00000044 - Disclosure - 6. Deconsolidation of Sinsin (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/AccountsReceivableTables" id="AccountsReceivableTables"> |
| <link:definition> 00000045 - Disclosure - 8. Accounts Receivable (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/InventoriesNetTables" id="InventoriesNetTables"> |
| <link:definition> 00000046 - Disclosure - 9. Inventories, net (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ProjectAssetsTables" id="ProjectAssetsTables"> |
| <link:definition> 00000047 - Disclosure - 10. Project Assets (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/PrepaidExpensesAndOtherCurrentAssetsTables" id="PrepaidExpensesAndOtherCurrentAssetsTables"> |
| <link:definition> 00000048 - Disclosure - 11. Prepaid Expenses and Other Current Assets (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IntangibleAssetsTables" id="IntangibleAssetsTables"> |
| <link:definition> 00000049 - Disclosure - 12. Intangible Assets (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/GoodwillTables" id="GoodwillTables"> |
| <link:definition> 00000050 - Disclosure - 13. Goodwill (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/PropertyPlantAndEquipmentTables" id="PropertyPlantAndEquipmentTables"> |
| <link:definition> 00000051 - Disclosure - 14. Property, Plant and Equipment (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/AccruedLiabilitiesTables" id="AccruedLiabilitiesTables"> |
| <link:definition> 00000052 - Disclosure - 17. Accrued liabilities (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Short-termBorrowingsAndLong-termBorrowingsTables" id="Short-termBorrowingsAndLong-termBorrowingsTables"> |
| <link:definition> 00000053 - Disclosure - 19. Short-term borrowings and long-term borrowings (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/OtherLiabilitiesTables" id="OtherLiabilitiesTables"> |
| <link:definition> 00000054 - Disclosure - 21. Other liabilities (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Share-basedCompensationTables" id="Share-basedCompensationTables"> |
| <link:definition> 00000055 - Disclosure - 23. Share-based Compensation (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IncomeTaxesTables" id="IncomeTaxesTables"> |
| <link:definition> 00000056 - Disclosure - 24. Income Taxes (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/NetLossPerShareTables" id="NetLossPerShareTables"> |
| <link:definition> 00000057 - Disclosure - 25. Net Loss Per Share (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/CommitmentsAndContingenciesTables" id="CommitmentsAndContingenciesTables"> |
| <link:definition> 00000058 - Disclosure - 26. Commitments and Contingencies (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ConcentrationRiskTables" id="ConcentrationRiskTables"> |
| <link:definition> 00000059 - Disclosure - 27. Concentration Risk (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SegmentInformationTables" id="SegmentInformationTables"> |
| <link:definition> 00000060 - Disclosure - 28. Segment information (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/GoingConcernDetailsNarrative" id="GoingConcernDetailsNarrative"> |
| <link:definition> 00000061 - Disclosure - 2. Going Concern (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SummaryOfSignificantAccountingPoliciesDetails-PpeUsefulLives" id="SummaryOfSignificantAccountingPoliciesDetails-PpeUsefulLives"> |
| <link:definition> 00000062 - Disclosure - 3. Summary of Significant Accounting Policies (Details - PPE useful lives) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SummaryOfSignificantAccountingPoliciesDetails-DisaggregationOfRevenueByRevenueStream" id="SummaryOfSignificantAccountingPoliciesDetails-DisaggregationOfRevenueByRevenueStream"> |
| <link:definition> 00000063 - Disclosure - 3. Summary of Significant Accounting Policies (Details - Disaggregation of revenue by revenue stream) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SummaryOfSignificantAccountingPoliciesDetails-ByTimingOfRevenueRecognition" id="SummaryOfSignificantAccountingPoliciesDetails-ByTimingOfRevenueRecognition"> |
| <link:definition> 00000064 - Disclosure - 3. Summary of Significant Accounting Policies (Details - By timing of revenue recognition) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SummaryOfSignificantAccountingPoliciesDetails-ContractBalance" id="SummaryOfSignificantAccountingPoliciesDetails-ContractBalance"> |
| <link:definition> 00000065 - Disclosure - 3. Summary of Significant Accounting Policies (Details - Contract balance) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCapitalizedInterestDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesCapitalizedInterestDetails"> |
| <link:definition> 00000066 - Disclosure - 3. Summary of Significant Accounting Policies (Details - Capitalized interest) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" id="SummaryOfSignificantAccountingPoliciesDetailsNarrative"> |
| <link:definition> 00000067 - Disclosure - 3. Summary of Significant Accounting Policies (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DispositionOfSpiChinaDetails-BalanceSheet" id="DispositionOfSpiChinaDetails-BalanceSheet"> |
| <link:definition> 00000068 - Disclosure - 4. Disposition of SPI China (Details - Balance Sheet) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DispositionOfSpiChinaDetails-StatementOfOperation" id="DispositionOfSpiChinaDetails-StatementOfOperation"> |
| <link:definition> 00000069 - Disclosure - 4. Disposition of SPI China (Details - Statement of operation) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DispositionOfSpiChinaDetailsNarrative" id="DispositionOfSpiChinaDetailsNarrative"> |
| <link:definition> 00000070 - Disclosure - 4. Disposition of SPI China (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/BusinessAcquisitionsDetails" id="BusinessAcquisitionsDetails"> |
| <link:definition> 00000071 - Disclosure - 5. Business Acquisitions (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/BusinessAcquisitionsDetailsNarrative" id="BusinessAcquisitionsDetailsNarrative"> |
| <link:definition> 00000072 - Disclosure - 5. Business Acquisitions (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DeconsolidationOfSinsinDetails" id="DeconsolidationOfSinsinDetails"> |
| <link:definition> 00000073 - Disclosure - 6. Deconsolidation of Sinsin (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/DeconsolidationOfSinsinDetailsNarrative" id="DeconsolidationOfSinsinDetailsNarrative"> |
| <link:definition> 00000074 - Disclosure - 6. Deconsolidation of Sinsin (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/RestrictedCashDetailsNarrative" id="RestrictedCashDetailsNarrative"> |
| <link:definition> 00000075 - Disclosure - 7. Restricted cash (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/AccountsReceivableDetails-AccountsReceivable" id="AccountsReceivableDetails-AccountsReceivable"> |
| <link:definition> 00000076 - Disclosure - 8. Accounts Receivable (Details - Accounts receivable) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/AccountsReceivableDetails-AllowanceForDoubtfulAccounts" id="AccountsReceivableDetails-AllowanceForDoubtfulAccounts"> |
| <link:definition> 00000077 - Disclosure - 8. Accounts Receivable (Details - Allowance for Doubtful Accounts) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/AccountsReceivableDetailsNarrative" id="AccountsReceivableDetailsNarrative"> |
| <link:definition> 00000078 - Disclosure - 8. Accounts Receivable (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/InventoriesDetails" id="InventoriesDetails"> |
| <link:definition> 00000079 - Disclosure - 9. Inventories (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/InventoriesDetailsNarrative" id="InventoriesDetailsNarrative"> |
| <link:definition> 00000080 - Disclosure - 9. Inventories (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ProjectAssetsDetails" id="ProjectAssetsDetails"> |
| <link:definition> 00000081 - Disclosure - 10. Project Assets (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ProjectAssetsDetailsNarrative" id="ProjectAssetsDetailsNarrative"> |
| <link:definition> 00000082 - Disclosure - 10. Project Assets (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/PrepaidExpensesAndOtherCurrentAssetsDetails" id="PrepaidExpensesAndOtherCurrentAssetsDetails"> |
| <link:definition> 00000083 - Disclosure - 11. Prepaid expenses and other current assets (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/PrepaidExpensesAndOtherCurrentAssetsDetailsNarrative" id="PrepaidExpensesAndOtherCurrentAssetsDetailsNarrative"> |
| <link:definition> 00000084 - Disclosure - 11. Prepaid expenses and other current assets (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IntangibleAssetsDetails-IntangibleAssets" id="IntangibleAssetsDetails-IntangibleAssets"> |
| <link:definition> 00000085 - Disclosure - 12. Intangible Assets (Details - Intangible Assets) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IntangibleAssetsDetails-FutureAmortization" id="IntangibleAssetsDetails-FutureAmortization"> |
| <link:definition> 00000086 - Disclosure - 12. Intangible Assets (Details - Future Amortization) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IntangibleAssetsDetailsNarrative" id="IntangibleAssetsDetailsNarrative"> |
| <link:definition> 00000087 - Disclosure - 12. Intangible Assets (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/GoodwillDetails-Goodwill" id="GoodwillDetails-Goodwill"> |
| <link:definition> 00000088 - Disclosure - 13. Goodwill (Details - Goodwill) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/GoodwilDetailsNarrative" id="GoodwilDetailsNarrative"> |
| <link:definition> 00000089 - Disclosure - 13. Goodwil (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/PropertyPlantAndEquipmentDetails" id="PropertyPlantAndEquipmentDetails"> |
| <link:definition> 00000090 - Disclosure - 14. Property, Plant and Equipment (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/PropertyPlantAndEquipmentDetailsNarrative" id="PropertyPlantAndEquipmentDetailsNarrative"> |
| <link:definition> 00000091 - Disclosure - 14. Property, Plant and Equipment (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/InvestmentInAffiliatesDetailsNarrative" id="InvestmentInAffiliatesDetailsNarrative"> |
| <link:definition> 00000092 - Disclosure - 15. Investment in Affiliates (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/FairValueMeasurementDetailsNarrative" id="FairValueMeasurementDetailsNarrative"> |
| <link:definition> 00000093 - Disclosure - 16. Fair value measurement (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/AccruedLiabilitiesDetails" id="AccruedLiabilitiesDetails"> |
| <link:definition> 00000094 - Disclosure - 17. Accrued liabilities (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Short-termBorrowingsAndLong-termBorrowingsDetails-Debt" id="Short-termBorrowingsAndLong-termBorrowingsDetails-Debt"> |
| <link:definition> 00000095 - Disclosure - 19. Short-term borrowings and long-term borrowings (Details - Debt) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Short-termBorrowingsAndLong-termBorrowingsDetails-Maturities" id="Short-termBorrowingsAndLong-termBorrowingsDetails-Maturities"> |
| <link:definition> 00000096 - Disclosure - 19. Short-term borrowings and long-term borrowings (Details - Maturities) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Short-termBorrowingsAndLong-termBorrowingsDetailsNarrative" id="Short-termBorrowingsAndLong-termBorrowingsDetailsNarrative"> |
| <link:definition> 00000097 - Disclosure - 19. Short-term borrowings and long-term borrowings (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ConvertibleBondsDetailsNarrative" id="ConvertibleBondsDetailsNarrative"> |
| <link:definition> 00000098 - Disclosure - 20. Convertible Bonds (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/OtherLiabilitiesDetails" id="OtherLiabilitiesDetails"> |
| <link:definition> 00000099 - Disclosure - 21. Other liabilities (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/OtherLiabilitiesDetailsNarrative" id="OtherLiabilitiesDetailsNarrative"> |
| <link:definition> 00000100 - Disclosure - 21. Other liabilities (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/StockholdersDeficitDetailsNarrative" id="StockholdersDeficitDetailsNarrative"> |
| <link:definition> 00000101 - Disclosure - 22. Stockholders' Deficit (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Stock-basedCompensationDetails-Stock-basedCompensationExpenseByAwardType" id="Stock-basedCompensationDetails-Stock-basedCompensationExpenseByAwardType"> |
| <link:definition> 00000102 - Disclosure - 23. Stock-based Compensation (Details - Stock-Based Compensation Expense by Award type) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Stock-basedCompensationDetails-CompensationExpenseByLineItem" id="Stock-basedCompensationDetails-CompensationExpenseByLineItem"> |
| <link:definition> 00000103 - Disclosure - 23. Stock-based Compensation (Details - Compensation expense by line item) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Stock-basedCompensationDetails-Assumptions" id="Stock-basedCompensationDetails-Assumptions"> |
| <link:definition> 00000104 - Disclosure - 23. Stock-based Compensation (Details - Assumptions) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Stock-basedCompensationDetails-OptionActivity" id="Stock-basedCompensationDetails-OptionActivity"> |
| <link:definition> 00000105 - Disclosure - 23. Stock-based Compensation (Details - Option Activity) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Stock-basedCompensationDetails-OptionsByExercisePrice" id="Stock-basedCompensationDetails-OptionsByExercisePrice"> |
| <link:definition> 00000106 - Disclosure - 23. Stock-based Compensation (Details - Options by Exercise Price) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Stock-basedCompensationDetails-Non-vestedOptions" id="Stock-basedCompensationDetails-Non-vestedOptions"> |
| <link:definition> 00000107 - Disclosure - 23. Stock-based Compensation (Details - Non-vested options) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Stock-basedCompensationDetails-Rsus" id="Stock-basedCompensationDetails-Rsus"> |
| <link:definition> 00000108 - Disclosure - 23. Stock-based Compensation (Details - RSU's) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/Stock-basedCompensationDetailsNarrative" id="Stock-basedCompensationDetailsNarrative"> |
| <link:definition> 00000109 - Disclosure - 23. Stock-based Compensation (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IncomeTaxesDetails-LossBeforeProvision" id="IncomeTaxesDetails-LossBeforeProvision"> |
| <link:definition> 00000110 - Disclosure - 24. Income Taxes (Details - Loss before Provision) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IncomeTaxesDetails-ProvisionForIncomeTaxes" id="IncomeTaxesDetails-ProvisionForIncomeTaxes"> |
| <link:definition> 00000111 - Disclosure - 24. Income Taxes (Details - Provision for income taxes) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IncomeTaxesDetails-TaxReconciliation" id="IncomeTaxesDetails-TaxReconciliation"> |
| <link:definition> 00000112 - Disclosure - 24. Income Taxes (Details - Tax reconciliation) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IncomeTaxesDetails-DeferredIncomeTaxes" id="IncomeTaxesDetails-DeferredIncomeTaxes"> |
| <link:definition> 00000113 - Disclosure - 24. Income Taxes (Details - Deferred income taxes) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative"> |
| <link:definition> 00000114 - Disclosure - 24. Income Taxes (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/NetLossPerShareDetails-BasicAndDiluted" id="NetLossPerShareDetails-BasicAndDiluted"> |
| <link:definition> 00000115 - Disclosure - 25. Net Loss Per Share (Details - Basic and Diluted) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/NetLossPerShareDetails-AntidilutiveShares" id="NetLossPerShareDetails-AntidilutiveShares"> |
| <link:definition> 00000116 - Disclosure - 25. Net Loss Per Share (Details - Antidilutive shares) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/CommitmentsAndContingenciesDetails-MinimumLeasePayments" id="CommitmentsAndContingenciesDetails-MinimumLeasePayments"> |
| <link:definition> 00000117 - Disclosure - 26. Commitments and Contingencies (Details - Minimum lease payments) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/CommitmentsAndContingenciesDetailsNarrative" id="CommitmentsAndContingenciesDetailsNarrative"> |
| <link:definition> 00000118 - Disclosure - 26. Commitments and Contingencies (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/ConcentrationRiskDetails-AccountsReceivableRisk" id="ConcentrationRiskDetails-AccountsReceivableRisk"> |
| <link:definition> 00000119 - Disclosure - 27. Concentration Risk (Details - Accounts receivable risk) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SegmentInformationDetails-ByProduct" id="SegmentInformationDetails-ByProduct"> |
| <link:definition> 00000120 - Disclosure - 28. Segment information (Details - By Product) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SegmentInformationDetails-Geographic" id="SegmentInformationDetails-Geographic"> |
| <link:definition> 00000121 - Disclosure - 28. Segment information (Details - Geographic) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/SegmentInformationDetails-Long-livedAssets" id="SegmentInformationDetails-Long-livedAssets"> |
| <link:definition> 00000122 - Disclosure - 28. Segment information (Details - Long-lived assets) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://spisolar.com/role/RelatedPartyTransactionsDetailsNarrative" id="RelatedPartyTransactionsDetailsNarrative"> |
| <link:definition> 00000123 - Disclosure - 29. Related Party Transactions (Details Narrative) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="spi-20181231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links"/> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="spi-20181231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links"/> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="spi-20181231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links"/> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="spi-20181231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links"/> |
| | | </appinfo> |
| | </annotation> |
| <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/> |
| <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/> |
| <import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/> |
| <import namespace="http://xbrl.sec.gov/dei/2018-01-31" schemaLocation="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd"/> |
| <import namespace="http://fasb.org/us-gaap/2018-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd"/> |
| <import namespace="http://fasb.org/us-types/2018-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2018/elts/us-types-2018-01-31.xsd"/> |
| <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd"/> |
| <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd"/> |
| <import namespace="http://xbrl.sec.gov/country/2017-01-31" schemaLocation="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd"/> |
| <import namespace="http://xbrl.sec.gov/currency/2017-01-31" schemaLocation="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd"/> |
| <import namespace="http://fasb.org/srt/2018-01-31" schemaLocation="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd"/> |
| <element id="spi_ProjectAssetsNoncurrent" name="ProjectAssetsNoncurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProjectAssetsCurrent" name="ProjectAssetsCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_IncreaseDecreaseInProjectAssets" name="IncreaseDecreaseInProjectAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_NoncashActivityRelatedToSolarSystemSubjectToFinancingObligation" name="NoncashActivityRelatedToSolarSystemSubjectToFinancingObligation" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_LossOnInvestmentInAffiliates1" name="LossOnInvestmentInAffiliates1" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ImpairmentOfProjectAssets" name="ImpairmentOfProjectAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProvisionForReversalOfDoubtfulAccountsAndNotes" name="ProvisionForReversalOfDoubtfulAccountsAndNotes" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_IncreaseDecreaseInThirdPartyNet" name="IncreaseDecreaseInThirdPartyNet" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_InterestCapitalizedToProjectAssets" name="InterestCapitalizedToProjectAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_LossOnForgivenessOfDebtDueFromSPI" name="LossOnForgivenessOfDebtDueFromSPI" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AdvancePaymentsFromCustomersTextBlock" name="AdvancePaymentsFromCustomersTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ScheduleOfMajorSubsidiariesTableTextBlock" name="ScheduleOfMajorSubsidiariesTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PropertyPlantAndEquipmentUsefulLifeTableTextBlock" name="PropertyPlantAndEquipmentUsefulLifeTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DispositionOfSpiChinaHkLimited" name="DispositionOfSpiChinaHkLimited" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_StockOptionGrantedInDisposition" name="StockOptionGrantedInDisposition" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ForgivenessOfReceivableFromSpiChinaHkLimited" name="ForgivenessOfReceivableFromSpiChinaHkLimited" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ReverseStockSplitRoundingSharesAmount" name="ReverseStockSplitRoundingSharesAmount" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AmountDueFromIntergroupEntities" name="AmountDueFromIntergroupEntities" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AllowanceForDoubtfulAccountsReceivableTranslationDifference" name="AllowanceForDoubtfulAccountsReceivableTranslationDifference" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProjectAssets" name="ProjectAssets" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DepositAndPrepaymentForAcquisitions" name="DepositAndPrepaymentForAcquisitions" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_OtherDepositAndPrepayments" name="OtherDepositAndPrepayments" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProvisionForDepositAndPrepaymentForAcquisitions" name="ProvisionForDepositAndPrepaymentForAcquisitions" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProvisionForOtherReceivables" name="ProvisionForOtherReceivables" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_FiniteLivedIntangibleAssetsImpairmentCharge" name="FiniteLivedIntangibleAssetsImpairmentCharge" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PropertyPlantAndEquipmentNetBeforeConstructionInProgressAndImpairment" name="PropertyPlantAndEquipmentNetBeforeConstructionInProgressAndImpairment" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AccumulatedImpairmentOfPropertyPlantAndEquipment" name="AccumulatedImpairmentOfPropertyPlantAndEquipment" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DebtorFinanceBalance" name="DebtorFinanceBalance" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="instant" type="num:perShareItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProceedsFromDeconsolidation" name="ProceedsFromDeconsolidation" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_UnpaidAcquisitionPayable" name="UnpaidAcquisitionPayable" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_OptionsIssuedToShareholderDuringDisposition" name="OptionsIssuedToShareholderDuringDisposition" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DispositionOfSpiChinaHkLimitedCashFlow" name="DispositionOfSpiChinaHkLimitedCashFlow" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_WorkingCapital" name="WorkingCapital" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ScheduleOfAccountsReceivablesAndContractLiabilitiesTableTextBlock" name="ScheduleOfAccountsReceivablesAndContractLiabilitiesTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ConstructionProjectsOutstandingTableTextBlock" name="ConstructionProjectsOutstandingTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationFinanceLeaseReceivable" name="DisposalGroupIncludingDiscontinuedOperationFinanceLeaseReceivable" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationRestrictedCash" name="DisposalGroupIncludingDiscontinuedOperationRestrictedCash" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationProjectAssetsNoncurrentAssets" name="DisposalGroupIncludingDiscontinuedOperationProjectAssetsNoncurrentAssets" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationFinanceLeaseReceivableNoncurrentAssets" name="DisposalGroupIncludingDiscontinuedOperationFinanceLeaseReceivableNoncurrentAssets" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationAccountsPayableRelatedPartiesCurrent" name="DisposalGroupIncludingDiscontinuedOperationAccountsPayableRelatedPartiesCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationDebtCurrent" name="DisposalGroupIncludingDiscontinuedOperationDebtCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationFinancingAndCapitalLeaseCurrent" name="DisposalGroupIncludingDiscontinuedOperationFinancingAndCapitalLeaseCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationLongTermDebtCurrent" name="DisposalGroupIncludingDiscontinuedOperationLongTermDebtCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationProvisionForLosses" name="DisposalGroupIncludingDiscontinuedOperationProvisionForLosses" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationSalesAndMarketingExpense" name="DisposalGroupIncludingDiscontinuedOperationSalesAndMarketingExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationProvisionForDoubtfulAccounts" name="DisposalGroupIncludingDiscontinuedOperationProvisionForDoubtfulAccounts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationImpairmentGoodwillAndIntangibleAssets" name="DisposalGroupIncludingDiscontinuedOperationImpairmentGoodwillAndIntangibleAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationImpairmentOnPropertyAndEquipment" name="DisposalGroupIncludingDiscontinuedOperationImpairmentOnPropertyAndEquipment" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationImpairmentOnProjectAssets" name="DisposalGroupIncludingDiscontinuedOperationImpairmentOnProjectAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationImpairmentOnFinanceLeaseReceivable" name="DisposalGroupIncludingDiscontinuedOperationImpairmentOnFinanceLeaseReceivable" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationOperatingExpenses" name="DisposalGroupIncludingDiscontinuedOperationOperatingExpenses" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense" name="DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_FairValueOfOptionsGranted" name="FairValueOfOptionsGranted" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_LossOnDebtForgiveness" name="LossOnDebtForgiveness" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProvisionForOtherDepositsAndPrepayments" name="ProvisionForOtherDepositsAndPrepayments" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsVestedInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsVestedInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="num:perShareItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DeferredTaxAssetsFairValueAdjustmentOfSubsidiaries" name="DeferredTaxAssetsFairValueAdjustmentOfSubsidiaries" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DeferredTaxAssetsCfcTradePayable" name="DeferredTaxAssetsCfcTradePayable" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DeferredTaxLiabilitiesFairValueAdjustmentOfSubsidiaries" name="DeferredTaxLiabilitiesFairValueAdjustmentOfSubsidiaries" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DecreaseOfCashFueToDispositionOfSpiChina" name="DecreaseOfCashFueToDispositionOfSpiChina" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_GainOnTroubledDebtRestructuring" name="GainOnTroubledDebtRestructuring" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DerecognitionOfProjectAerojet" name="DerecognitionOfProjectAerojet" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProjectAssetsPolicyTextBlock" name="ProjectAssetsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_GainOnTroubledDebtRestructuringPoliciesTextBlock" name="GainOnTroubledDebtRestructuringPoliciesTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DeconsolidationOfSinsinTextBlock" name="DeconsolidationOfSinsinTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AllowanceForDoubtfulAccountsRollforwardTableTextBlock" name="AllowanceForDoubtfulAccountsRollforwardTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ConstructionProjectsTextBlock" name="ConstructionProjectsTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ConvertibleBondsTextBlock" name="ConvertibleBondsTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_IncomeTaxReconciliationOtherAdjustmentsTaxPenalty" name="IncomeTaxReconciliationOtherAdjustmentsTaxPenalty" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PlantAndMachineryMember" name="PlantAndMachineryMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PvSolarSystemMember" name="PvSolarSystemMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PhotoVoltaicSolarComponentsMember" name="PhotoVoltaicSolarComponentsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PowerPurchaseAgreementsPPAMember" name="PowerPurchaseAgreementsPPAMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PhotoVoltaicProjectAssetsMember" name="PhotoVoltaicProjectAssetsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_BitcoinMiningEquipmentSaleAndHostingServiceMember" name="BitcoinMiningEquipmentSaleAndHostingServiceMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PredevelopmentProjectSalesMember" name="PredevelopmentProjectSalesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_OtherServicesMember" name="OtherServicesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_HeliostixioMember" name="HeliostixioMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SinsinMember" name="SinsinMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_UnderDevelopmentMember" name="UnderDevelopmentMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CompletedForSaleMember" name="CompletedForSaleMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CertainAssetsMember" name="CertainAssetsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ReCapitalMember" name="ReCapitalMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_KashimaPVstationMember" name="KashimaPVstationMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_GeneralEnergySolutionsMember" name="GeneralEnergySolutionsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_TacooCorporationMember" name="TacooCorporationMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ThirdPartiesMember" name="ThirdPartiesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PVSolarSystemsMember" name="PVSolarSystemsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_EnsyncMember" name="EnsyncMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PurchasedCommonStockMember" name="PurchasedCommonStockMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ConvPrefStockMember" name="ConvPrefStockMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_WarrantsMember" name="WarrantsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SantanderBankMember" name="SantanderBankMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SolarJuiceMember" name="SolarJuiceMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ScottishPacificMember" name="ScottishPacificMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ConvertibleBondsMember" name="ConvertibleBondsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_UnionSkyMember" name="UnionSkyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_FistAmendmentMember" name="FistAmendmentMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SecondAmendmentMember" name="SecondAmendmentMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_Note1Member" name="Note1Member" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_Note2Member" name="Note2Member" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_Note3Member" name="Note3Member" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_StockOptionsMember" name="StockOptionsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PriceRange1Member" name="PriceRange1Member" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PriceRange2Member" name="PriceRange2Member" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PriceRange3Member" name="PriceRange3Member" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_FederalMember" name="FederalMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_StateMember" name="StateMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ForeignMember" name="ForeignMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_OptionsAndRestrictedMember" name="OptionsAndRestrictedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ValtaSolarLLCMember" name="ValtaSolarLLCMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ThermiVentureSAMember" name="ThermiVentureSAMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AESDistributionEnergyLLCMember" name="AESDistributionEnergyLLCMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_KDCSolarDesignedLLCMember" name="KDCSolarDesignedLLCMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_OtherRevenueMember" name="OtherRevenueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SPIChinaMember" name="SPIChinaMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_LightingCharmMember" name="LightingCharmMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PvProjectAssetsAndPredevelopmentSolarProjectsMember" name="PvProjectAssetsAndPredevelopmentSolarProjectsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AccruedInterestMember" name="AccruedInterestMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_UnpaidPurchaseConsiderationMember" name="UnpaidPurchaseConsiderationMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SinsinRenewableInvestmentLtdMember" name="SinsinRenewableInvestmentLtdMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ManagementMembersMember" name="ManagementMembersMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_OrdinaryShares1Member" name="OrdinaryShares1Member" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_NonvestedMember" name="NonvestedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DocumentAndEntityInformationAbstract" name="DocumentAndEntityInformationAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DeconsolidationOfSinsinAbstract" name="DeconsolidationOfSinsinAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProjectAssetsAbstract" name="ProjectAssetsAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ConvertibleBondsAbstract" name="ConvertibleBondsAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_GoodwillDisclosureAbstract" name="GoodwillDisclosureAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ScheduleOfFairValueMeasurementDetailsTable" name="ScheduleOfFairValueMeasurementDetailsTable" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem"/> |
| <element id="spi_ScheduleOfFairValueMeasurementDetailsLineItems" name="ScheduleOfFairValueMeasurementDetailsLineItems" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ScheduleOfDebtInstrumentsTable" name="ScheduleOfDebtInstrumentsTable" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem"/> |
| <element id="spi_ScheduleOfLoansPayableDetailsLineItems" name="ScheduleOfLoansPayableDetailsLineItems" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedRemainingContractualTermAbstract" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedRemainingContractualTermAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingAggregateIntrinsicValueAbstract" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingAggregateIntrinsicValueAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_WeightedAverageGrantdateFairValueAbstract" name="WeightedAverageGrantdateFairValueAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SummaryOfSignificantAccountingPoliciesTable" name="SummaryOfSignificantAccountingPoliciesTable" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem"/> |
| <element id="spi_SummaryOfSignificantAccountingPoliciesLineItems" name="SummaryOfSignificantAccountingPoliciesLineItems" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| </schema> |