| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 4.24b --> |
<!-- Field: Doc-Info; Name: VendorURI; Value: http://www.novaworks.co --> |
<!-- Field: Doc-Info; Name: Source; Value: spi_20f%2D2017.xfr; Date: 2018%2D12%2D11T18:42:11Z --> |
<!-- Field: Doc-Info; Name: Status; Value: 0x00000000 --> |
<!-- Field: Doc-Info; Name: Misc; Value: +Kopo7xRiXgen8uEbXpMOaOE+aPty552KYkxvmR+famaTyMo6y6tiSFgeL72AV8K --> |
<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/20171231" elementFormDefault="qualified" targetNamespace="http://spisolar.com/20171231"> |
| <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/DescriptionOfBusinessAndOrganization" id="DescriptionOfBusinessAndOrganization"> |
| <link:definition> 00000008 - 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/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies"> |
| <link:definition> 00000009 - Disclosure - 2. 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/BusinessAcquisitions" id="BusinessAcquisitions"> |
| <link:definition> 00000010 - Disclosure - 3. 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> 00000011 - Disclosure - 4. 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> 00000012 - Disclosure - 5. 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> 00000013 - Disclosure - 6. 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/Inventories" id="Inventories"> |
| <link:definition> 00000014 - Disclosure - 7. Inventories </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> 00000015 - Disclosure - 8. 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> 00000016 - Disclosure - 9. 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/FinanceLeaseReceivables" id="FinanceLeaseReceivables"> |
| <link:definition> 00000017 - Disclosure - 10. Finance Lease Receivables </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> 00000018 - Disclosure - 11. 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> 00000019 - Disclosure - 12. 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> 00000020 - Disclosure - 13. 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> 00000021 - Disclosure - 14. 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> 00000022 - Disclosure - 15. 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> 00000023 - Disclosure - 16. 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/OtherLiabilities" id="OtherLiabilities"> |
| <link:definition> 00000024 - Disclosure - 17. 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/GoodwillAndOtherIntangibleAssets" id="GoodwillAndOtherIntangibleAssets"> |
| <link:definition> 00000025 - Disclosure - 18. Goodwill and Other 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/ConvertibleBonds" id="ConvertibleBonds"> |
| <link:definition> 00000026 - Disclosure - 19. 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/StockOption" id="StockOption"> |
| <link:definition> 00000027 - Disclosure - 20. Stock option </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/StockholdersDeficit" id="StockholdersDeficit"> |
| <link:definition> 00000028 - Disclosure - 21. Stockholders' 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/Stock-basedCompensation" id="Stock-basedCompensation"> |
| <link:definition> 00000029 - Disclosure - 22. Stock-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> 00000030 - Disclosure - 23. 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/NetLossPerShareOfCommonStock" id="NetLossPerShareOfCommonStock"> |
| <link:definition> 00000031 - Disclosure - 24. Net Loss Per Share of Common Stock </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> 00000032 - Disclosure - 25. 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> 00000033 - Disclosure - 26. 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> 00000034 - Disclosure - 27. 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> 00000035 - Disclosure - 28. 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> 00000036 - Disclosure - 29. 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> 00000037 - Disclosure - 2. 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> 00000038 - 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> 00000039 - Disclosure - 2. 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/BusinessAcquisitionsTables" id="BusinessAcquisitionsTables"> |
| <link:definition> 00000040 - Disclosure - 3. 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> 00000041 - Disclosure - 4. 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> 00000042 - Disclosure - 6. 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/InventoriesTables" id="InventoriesTables"> |
| <link:definition> 00000043 - Disclosure - 7. Inventories (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> 00000044 - Disclosure - 8. 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> 00000045 - Disclosure - 9. 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/FinanceLeaseReceivablesTables" id="FinanceLeaseReceivablesTables"> |
| <link:definition> 00000046 - Disclosure - 10. Finance Lease Receivables (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> 00000047 - Disclosure - 11. 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> 00000048 - Disclosure - 14. 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> 00000049 - Disclosure - 16. 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> 00000050 - Disclosure - 17. 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/GoodwillAndOtherIntangibleAssetsTables" id="GoodwillAndOtherIntangibleAssetsTables"> |
| <link:definition> 00000051 - Disclosure - 18. Goodwill and Other 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/Stock-basedCompensationTables" id="Stock-basedCompensationTables"> |
| <link:definition> 00000052 - Disclosure - 22. Stock-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> 00000053 - Disclosure - 23. 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/NetLossPerShareOfCommonStockTables" id="NetLossPerShareOfCommonStockTables"> |
| <link:definition> 00000054 - Disclosure - 24. Net Loss Per Share of Common Stock (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> 00000055 - Disclosure - 25. 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> 00000056 - Disclosure - 26. 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> 00000057 - Disclosure - 27. 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/DescriptionOfBusinessAndOrganizationDetails-Vie-BalanceSheet" id="DescriptionOfBusinessAndOrganizationDetails-Vie-BalanceSheet"> |
| <link:definition> 00000058 - Disclosure - 1.Description of Business and Organization (Details - VIE - 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/DescriptionOfBusinessAndOrganizationDetails-Vie-IncomeAndCashFlow" id="DescriptionOfBusinessAndOrganizationDetails-Vie-IncomeAndCashFlow"> |
| <link:definition> 00000059 - Disclosure - 1.Description of Business and Organization (Details - VIE - Income and Cash Flow) </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> 00000060 - Disclosure - 2. 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/DisclosureSummaryOfSignificantAccountingPoliciesCapitalizedInterestDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesCapitalizedInterestDetails"> |
| <link:definition> 00000061 - Disclosure - 2. 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> 00000062 - Disclosure - 2. 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/BusinessAcquisitionsDetails" id="BusinessAcquisitionsDetails"> |
| <link:definition> 00000063 - Disclosure - 3. 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> 00000064 - Disclosure - 3. 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> 00000065 - Disclosure - 4. 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> 00000066 - Disclosure - 4. 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/RestrictedCashDetails" id="RestrictedCashDetails"> |
| <link:definition> 00000067 - Disclosure - 5. Restricted cash (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/AccountsReceivableDetails-ArAging" id="AccountsReceivableDetails-ArAging"> |
| <link:definition> 00000068 - Disclosure - 6. Accounts Receivable (Details - AR aging) </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> 00000069 - Disclosure - 6. 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> 00000070 - Disclosure - 6. 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> 00000071 - Disclosure - 7. 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> 00000072 - Disclosure - 7. 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> 00000073 - Disclosure - 8. 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> 00000074 - Disclosure - 8. 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> 00000075 - Disclosure - 9. 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> 00000076 - Disclosure - 9. 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/FinanceLeaseReceivablesDetails-FinanceLease" id="FinanceLeaseReceivablesDetails-FinanceLease"> |
| <link:definition> 00000077 - Disclosure - 10. Finance lease receivables (Details - Finance Lease) </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/FinanceLeaseReceivablesDetails-MinimumLeasePaymentsReceivable" id="FinanceLeaseReceivablesDetails-MinimumLeasePaymentsReceivable"> |
| <link:definition> 00000078 - Disclosure - 10. Finance lease receivables (Details - Minimum Lease Payments 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/FinanceLeaseReceivablesDetailsNarrative" id="FinanceLeaseReceivablesDetailsNarrative"> |
| <link:definition> 00000079 - Disclosure - 10. Finance lease receivables (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> 00000080 - Disclosure - 11. 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> 00000081 - Disclosure - 11. 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> 00000082 - Disclosure - 12. 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> 00000083 - Disclosure - 13. 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> 00000084 - Disclosure - 14. 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/AccruedLiabilitiesDetailsNarrative" id="AccruedLiabilitiesDetailsNarrative"> |
| <link:definition> 00000085 - Disclosure - 14. Accrued 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/Short-termBorrowingsAndLong-termBorrowingsDetails-Debt" id="Short-termBorrowingsAndLong-termBorrowingsDetails-Debt"> |
| <link:definition> 00000086 - Disclosure - 16. 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> 00000087 - Disclosure - 16. 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> 00000088 - Disclosure - 16. 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/OtherLiabilitiesDetails" id="OtherLiabilitiesDetails"> |
| <link:definition> 00000089 - Disclosure - 17. 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/GoodwillAndOtherIntangibleAssetsDetails-Goodwill" id="GoodwillAndOtherIntangibleAssetsDetails-Goodwill"> |
| <link:definition> 00000090 - Disclosure - 18. Goodwill and Other Intangible Assets (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/GoodwillAndOtherIntangibleAssetsDetails-IntangibleAssets" id="GoodwillAndOtherIntangibleAssetsDetails-IntangibleAssets"> |
| <link:definition> 00000091 - Disclosure - 18. Goodwill and Other 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/GoodwillAndOtherIntangibleAssetsDetails-FutureAmortization" id="GoodwillAndOtherIntangibleAssetsDetails-FutureAmortization"> |
| <link:definition> 00000092 - Disclosure - 18. Goodwill and Other 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/GoodwillAndOtherIntangibleAssetsDetailsNarrative" id="GoodwillAndOtherIntangibleAssetsDetailsNarrative"> |
| <link:definition> 00000093 - Disclosure - 18. Goodwill and Other 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/ConvertibleBondsDetailsNarrative" id="ConvertibleBondsDetailsNarrative"> |
| <link:definition> 00000094 - Disclosure - 19. 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/StockOptionDetailsNarrative" id="StockOptionDetailsNarrative"> |
| <link:definition> 00000095 - Disclosure - 20. Stock option (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> 00000096 - Disclosure - 21. 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> 00000097 - Disclosure - 22. 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> 00000098 - Disclosure - 22. 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> 00000099 - Disclosure - 22. 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> 00000100 - Disclosure - 22. 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> 00000101 - Disclosure - 22. 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> 00000102 - Disclosure - 22. 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> 00000103 - Disclosure - 22. 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> 00000104 - Disclosure - 22. 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> 00000105 - Disclosure - 23. 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> 00000106 - Disclosure - 23. 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> 00000107 - Disclosure - 23. 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> 00000108 - Disclosure - 23. 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> 00000109 - Disclosure - 23. 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/NetLossPerShareOfCommonStockDetails-BasicAndDiluted" id="NetLossPerShareOfCommonStockDetails-BasicAndDiluted"> |
| <link:definition> 00000110 - Disclosure - 24. Net Loss Per Share of Common Stock (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/NetLossPerShareOfCommonStockDetails-AntidilutiveShares" id="NetLossPerShareOfCommonStockDetails-AntidilutiveShares"> |
| <link:definition> 00000111 - Disclosure - 24. Net Loss Per Share of Common Stock (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> 00000112 - Disclosure - 25. 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> 00000113 - Disclosure - 25. 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-RevenueRisk" id="ConcentrationRiskDetails-RevenueRisk"> |
| <link:definition> 00000114 - Disclosure - 26. Concentration Risk (Details - Revenue 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/ConcentrationRiskDetails-AccountsReceivableRisk" id="ConcentrationRiskDetails-AccountsReceivableRisk"> |
| <link:definition> 00000115 - Disclosure - 26. 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> 00000116 - Disclosure - 27. 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> 00000117 - Disclosure - 27. 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> 00000118 - Disclosure - 27. 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> 00000119 - Disclosure - 28. 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-20171231_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-20171231_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-20171231_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-20171231_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_AllowanceForDoubtfulAccountsReceivableTranslationDifference" name="AllowanceForDoubtfulAccountsReceivableTranslationDifference" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AllowanceForDoubtfulAccountsReceivableWriteBack" name="AllowanceForDoubtfulAccountsReceivableWriteBack" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CouponsIssuedToSettleAccountsPayable" name="CouponsIssuedToSettleAccountsPayable" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CouponsNotYetExpiredOrRedeemed" name="CouponsNotYetExpiredOrRedeemed" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" 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_DeferredTaxAssetsFairValueAdjustmentOfSubsidiaries" name="DeferredTaxAssetsFairValueAdjustmentOfSubsidiaries" 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_DepositAndPrepaymentForAcquisitions" name="DepositAndPrepaymentForAcquisitions" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DueToIndividualInvestorsCurrent" name="DueToIndividualInvestorsCurrent" 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_IncreaseDecreaseInLeasingReceivablesNonCurrent" name="IncreaseDecreaseInLeasingReceivablesNonCurrent" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" 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_LongTermNonBankLoansAndNotesPayable" name="LongTermNonBankLoansAndNotesPayable" nillable="true" xbrli:periodType="instant" 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_OtherDepositAndPrepayments" name="OtherDepositAndPrepayments" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PaymentsToAcquireProjectAssets" name="PaymentsToAcquireProjectAssets" nillable="true" xbrli:periodType="duration" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" type="num:perShareItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsVestedInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsVestedInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="num:perShareItemType" 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_ProjectAssetsNoncurrent" name="ProjectAssetsNoncurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" 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_IncreaseDecreaseInThirdPartyNet" name="IncreaseDecreaseInThirdPartyNet" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AdjustmentsToAdditionalPaidInCapitalDebtForgivenessAffiliate" name="AdjustmentsToAdditionalPaidInCapitalDebtForgivenessAffiliate" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CommonStockIssuedToAcquireProjectAssets" name="CommonStockIssuedToAcquireProjectAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CommonStockIssuedToAcquireSubsidiaries" name="CommonStockIssuedToAcquireSubsidiaries" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CommonStockIssuedToSettlePayable" name="CommonStockIssuedToSettlePayable" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SalesAndLeasebackArrangementsToSettleAccountsReceivable" name="SalesAndLeasebackArrangementsToSettleAccountsReceivable" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ScheduleOfMajorSubsidiariesAndConsolidatedVariableInterestEntitiesTableTextBlock" name="ScheduleOfMajorSubsidiariesAndConsolidatedVariableInterestEntitiesTableTextBlock" 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_ScheduleOfComponentsOfLeaseReceivableTableTextBlock" name="ScheduleOfComponentsOfLeaseReceivableTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AdvancePaymentsFromCustomersTextBlock" name="AdvancePaymentsFromCustomersTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_OtherCurrentLiabilitiesDueToIntragroupEntities" name="OtherCurrentLiabilitiesDueToIntragroupEntities" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_NetSalesFromIntragroupEntities" name="NetSalesFromIntragroupEntities" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CouponsRecordedAsSettlementOfAccountsPayable" name="CouponsRecordedAsSettlementOfAccountsPayable" 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_ProvisionForDepositAndPrepaymentForAcquisitions" name="ProvisionForDepositAndPrepaymentForAcquisitions" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" 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_ProvisionForReceivableFromGroupsExecutivesAndEmployees" name="ProvisionForReceivableFromGroupsExecutivesAndEmployees" 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_ProvisionForOthers" name="ProvisionForOthers" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CapitalLeasesNetInvestmentInDirectFinancingLeasesInterest" name="CapitalLeasesNetInvestmentInDirectFinancingLeasesInterest" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PresentValueOfTotalMinimumCapitalLeasePayments" name="PresentValueOfTotalMinimumCapitalLeasePayments" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CapitalLeaseReceivableInterestRateRange" name="CapitalLeaseReceivableInterestRateRange" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" 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_ImpairmentChargesToCostsInExcessOfBillings" name="ImpairmentChargesToCostsInExcessOfBillings" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_LossOnBankruptcyOfAffiliate" name="LossOnBankruptcyOfAffiliate" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ReclassificationFromCostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsToAccountsReceivable" name="ReclassificationFromCostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsToAccountsReceivable" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" 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_InterestCostCapitalizedAndExpenseDisclosureTableTextBlock" name="InterestCostCapitalizedAndExpenseDisclosureTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" 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_WorkingCapital" name="WorkingCapital" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ReclassificationFromAllowanceForCostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContracts" name="ReclassificationFromAllowanceForCostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContracts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ConstructionProjectsTextBlock" name="ConstructionProjectsTextBlock" 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_CostsFromSaleOfProjectAssets" name="CostsFromSaleOfProjectAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProvisionForDoubtfulRecoveriesAccrual" name="ProvisionForDoubtfulRecoveriesAccrual" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_UnderlyingAssetsThatAreUsedAsGuarantee" name="UnderlyingAssetsThatAreUsedAsGuarantee" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_StockOptionDisclosureTextBlock" name="StockOptionDisclosureTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" 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_ProjectAssetsPolicyTextBlock" name="ProjectAssetsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DerecognitionOfProjectAerojet" name="DerecognitionOfProjectAerojet" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" 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_ConvertibleBondsTextBlock" name="ConvertibleBondsTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" 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_DeconsolidationOfSinsinTextBlock" name="DeconsolidationOfSinsinTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_IncomeTaxReconciliationGainLossDebt" name="IncomeTaxReconciliationGainLossDebt" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_IncomeTaxReconciliationTaxPenalty" name="IncomeTaxReconciliationTaxPenalty" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_WebsiteMember" name="WebsiteMember" 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_PlantAndMachineryMember" name="PlantAndMachineryMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_EngineeringProcurementAndConstructionEPCMember" name="EngineeringProcurementAndConstructionEPCMember" 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_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_FinancialServicesRevenueMember" name="FinancialServicesRevenueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PhotoVoltaicSolarSystemMember" name="PhotoVoltaicSolarSystemMember" 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_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_PvSolarSystemMember" name="PvSolarSystemMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_InstitutionalInvestorMember" name="InstitutionalInvestorMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProjectAssetsMember" name="ProjectAssetsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_HeldForSaleMember" name="HeldForSaleMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_UnderEpcContractsMember" name="UnderEpcContractsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PropertyPlantEquipmentMember" name="PropertyPlantEquipmentMember" 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_ReservesMember" name="ReservesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_FrozenMember" name="FrozenMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SinSinCustodyMember" name="SinSinCustodyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_Days0to90PastDueMember" name="Days0to90PastDueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_Daus91To180PastDueMember" name="Daus91To180PastDueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_Days181PastDueMember" name="Days181PastDueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_Over1YearPastDueMember" name="Over1YearPastDueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_CurrentMember" name="CurrentMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_EpcServiceRevenueMember" name="EpcServiceRevenueMember" 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_ZhongweiHankyMember" name="ZhongweiHankyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_MongoliaZhaojingMember" name="MongoliaZhaojingMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_UnderDevelopmentCompanyOwnerMember" name="UnderDevelopmentCompanyOwnerMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_UnderDevelopmentCompanyExpectedToOwnMember" name="UnderDevelopmentCompanyExpectedToOwnMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_GuoDianMember" name="GuoDianMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ProvisionForDoubtfulRecoveriesMember" name="ProvisionForDoubtfulRecoveriesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AllZipRoofingMember" name="AllZipRoofingMember" 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_IitLiabilitiesMember" name="IitLiabilitiesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PayableToPrcMember" name="PayableToPrcMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_Aerojet1Member" name="Aerojet1Member" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_XinteMember" name="XinteMember" 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_ConvPrefStockMember" name="ConvPrefStockMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_DingdinYiweiMember" name="DingdinYiweiMember" 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_CertainAssetsMember" name="CertainAssetsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_BankOfSuzhouMember" name="BankOfSuzhouMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_BankOfJiangsuMember" name="BankOfJiangsuMember" 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_WestpacBankMember" name="WestpacBankMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ThirdPartyMember" name="ThirdPartyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_OnLinePlatformMember" name="OnLinePlatformMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_IndividualInvestorsMember" name="IndividualInvestorsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ShortTermBorrowingsMember" name="ShortTermBorrowingsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_UnpaidPurchConsidMember" name="UnpaidPurchConsidMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_RelatedDefaultInterestMember" name="RelatedDefaultInterestMember" 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_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_FederalMember" name="FederalMember" 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_ThirdPartySupplierMember" name="ThirdPartySupplierMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SolarModuleSupplierMember" name="SolarModuleSupplierMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ThirdPartyEpcConstSupplierMember" name="ThirdPartyEpcConstSupplierMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ThirdPartyBorrowerMember" name="ThirdPartyBorrowerMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_BlackrockIncomeMember" name="BlackrockIncomeMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_RiIncomeMember" name="RiIncomeMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_InnerMongoliaMember" name="InnerMongoliaMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_ShotocoEnergyMember" name="ShotocoEnergyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AlxaLeagueMember" name="AlxaLeagueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_RealforceMember" name="RealforceMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_SolarEnergyMember" name="SolarEnergyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_PengMember" name="PengMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_LdkGroupMember" name="LdkGroupMember" 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_PurchasedCommonStockMember" name="PurchasedCommonStockMember" 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_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_StockOptionAbstract" name="StockOptionAbstract" 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"/> |
| <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsWeightedAverageGrantDateFairValueAbstract" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsWeightedAverageGrantDateFairValueAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AccruedLiabilitiesLineItems" name="AccruedLiabilitiesLineItems" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item"/> |
| <element id="spi_AccruedLiabilitiesTable" name="AccruedLiabilitiesTable" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem"/> |
| </schema> |