modulepackage
0.0.0-20241126154024-83b5e8d22779
Repository: https://github.com/joeychilson/xbrl.git
Documentation: pkg.go.dev
# README
xbrl
A simple parser for XBRL files.
Usage
func main() {
file, err := os.Open("msft.xml")
if err != nil {
log.Fatal(err)
}
defer file.Close()
var xbrl xbrl.XBRL
if err := xml.NewDecoder(file).Decode(&xbrl); err != nil {
log.Fatal(err)
}
fmt.Println("Facts:", len(xbrl.Facts))
}
Example fact from parsed XBRL
{
"context": {
"entity": "0000789019",
"segments": [
{
"dimension": "DerivativeInstrumentRisk",
"member": "InterestRateContract"
},
{
"dimension": "DerivativeInstrumentsGainLossByHedgingRelationship",
"member": "FairValueHedging"
},
{
"dimension": "IncomeStatementLocation",
"member": "NonoperatingIncomeExpense"
}
],
"period": {
"startDate": "2023-10-01",
"endDate": "2023-12-31"
}
},
"concept": "ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1",
"value": -34000000,
"decimals": "-6",
"unit": "USD"
},
# Structs
Context represents the context of a fact in the XBRL data.
Fact represents a single fact in the XBRL data.
Period represents the period of a fact in the XBRL data.
Segment represents a segment in the context of a fact in the XBRL data.
XBRL represents the parsed XBRL data.