SlideShare a Scribd company logo
1 of 34
Download to read offline
Rubyist


                    (                   )
                    iRubySystems        @iR3
                at 2011.7.18 RubyKaigi LT


2011   7   19
@iR3          ↓ 2010.11.6 Ruby
                http://www.slideshare.net/FUKUIOsamu/20101106-ramaze

                                                         FA




                        eTax             XBRL


                               XBRL
                                  ....
                                                  XBRL

2011   7   19
• Rubyist

                Rubyist should study accounting. Take the leadership beyond worker.
                     •                      Ruby
                                                          IFRS
                                        XBRL GL
                     If you use Ruby on IFRS System for XBRL GL you will win!
                     • XBRL         nokogiri
                     The nokogiri is best tool for XBRL handling.
                                                           And my recursive method.




2011   7   19
2011   7   19
Account ,
                      ■
                11   July 16-18 2011


2011   7   19
You must stand up to




2011   7   19
A long time ago




                 Now



                IT
                                   Accounting




2011   7   19
2011   7   19
2011   7   19
2011   7   19
Balance sheet(B/S)   Profit and Loss statement(P/L)



                   :2011.3.31          :2010.4.1 2011.3.31




2011   7   19
Balance sheet(B/S)   Profit and Loss statement(P/L)




2011   7   19
2011   7   19
by   IFRS
                P/L   B/S



2011   7   19
IFRS




2011   7   19
IFRS
                XBRL eXtensible Business
                    Reporting Language
                                 XML


2011   7   19
2     XBRL

                • XBRL FR    XBRL GL

                • XBRL FR Financial Reporting



                • XBRL GL Global Ledger Framework
                    RECOMMENDATION


2011   7   19
XBRL FR GL
                        EDINET
                        TDnet
                FR      e-Tax




                              XBRL



                GL      XML




2011   7   19
XBRL GL

                XBRL GL




2011   7   19
XBRL GL




2011   7   19
XBRL
                XBRL      2


                 XML




2011   7   19
2011   7   19
2011   7   19
XML Schema
                Schema:
                XML Schema      XML
                <schema
                    xmlns:link="http://www.xbrl.org/2003/linkbase"
                    xmlns:xlink="http://www.w3.org/1999/xlink"
                    xmlns="http://www.w3.org/2001/XMLSchema"
                    xmlns:xbrli="http://www.xbrl.org/2003/instance"
                    xmlns:gl-plt="http://www.xbrl.org/int/gl/plt/2010-04-12"
                    elementFormDefault="qualified"
                    targetNamespace="http://www.xbrl.org/int/gl/plt/2010-04-12"
                    attributeFormDefault="unqualified">


                </schema>




2011   7   19
annotation:
                <annotation>
                  <appinfo>
                   <link:linkbaseRef
                         xlink:type="simple"
                         xlink:href="../../cor/lang/gl-cor-2010-04-12-label.xml"
                         xlink:title="Label Links, all"
                         xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"
                         xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
                   <link:linkbaseRef
                         xlink:type="simple"
                         xlink:href="../../cor/lang/gl-cor-2010-04-12-label-ja.xml"
                         xlink:title="Label Links, ja"
                         xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"
                         xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
                  </appinfo>
                 </annotation>


2011   7   19
XML
                XML                             nokogiri
                http://nokogiri.org/
                https://github.com/tenderlove/nokogiri

                  install sudo gem install nokogiri




2011   7   19
require 'rubygems'
                require 'nokogiri'

                @doc = Nokogiri::XML(open("http://www.xbrl.org/
                taxonomy/int/gl/2010-04-12/cor/lang/gl-
                cor-2010-04-12-label-ja.xml"))

                puts "@doc    class          : #{@doc.class}"
                puts "@doc           : #{@doc}"



2011   7   19
XPath

                nokogiri   XPath

                XML Path Language  XPath; XML
                http://ja.wikipedia.org/wiki/XML_Path_Language




2011   7   19
<?xml version="1.0" encoding="utf-8"?>
                <document> <!-- XML      -->
                 <chapter title=" 1   ">
                 <paragraph>     </paragraph>
                 <paragraph>           </paragraph>
                 <paragraph>                  </paragraph>
                 <paragraph>               </paragraph>
                 </chapter>
                 <chapter title=" 2   ">
                 <paragraph>     </paragraph>
                 </chapter>
                </document>

2011   7   19
XPath
                  /document :               document
                ■ /* :
                         document                XML


                ■ /document/chapter : document
                         chapter
                ■ /document/chapter[1] : document                       1
                         chapter
                ■ //paragraph :                   paragraph
                ■ //chapter[@title="   1   "]/paragraph : title         " 1   "
                         chapter                            paragraph




2011   7   19
nokogiri

                   Thank you
                  tenderlove !

2011   7   19
XML
                        http://d.hatena.ne.jp/iR3/20060428#1146221233


                #           DB
                def getchild( db, gr_id )
                 out = "" #
                 sql = "select gr_id,gr_name from grlist where sgr_id=#{gr_id}"
                 rows = db.query(sql) rows.each_with_index{ |row,i|
                   gr_id1 = row[0]
                    gr_name = row[1]
                    out << "<#{gr_name} data='#{gr_id}'>"
                    out << "rn"
                    if gr_id != gr_id1
                      out << getchild(db, gr_id1)
                    end
                    out << "</#{gr_name} >" out << "rn"
                 }
                 return
                 out
                end
2011   7   19
2011   7   19
• Rubyist

                Rubyist should study accounting. Take the leadership beyond worker.
                     •                       Ruby
                                                           IFRS
                                         XBRL GL
                     If you use Ruby on IFRS System for XBRL GL you will win!
                     • XBRL          nokogiri
                     The nokogiri is best tool for XBRL handling.
                                                           And my recursive method.




2011   7   19

More Related Content

Similar to Rubyistに 不足しているのは会計(そろばん)!

Drupal 6.x, Drupal 7.x -- Scratching the surface
Drupal 6.x, Drupal 7.x -- Scratching the surfaceDrupal 6.x, Drupal 7.x -- Scratching the surface
Drupal 6.x, Drupal 7.x -- Scratching the surfaceFlorian Latzel
 
TYPO3 Transition Tool
TYPO3 Transition ToolTYPO3 Transition Tool
TYPO3 Transition Toolcrus0e
 
前瞻性Web性能优化pwpo
前瞻性Web性能优化pwpo前瞻性Web性能优化pwpo
前瞻性Web性能优化pwpoMichael Zhang
 
RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031kwangsub kim
 
Proactive Web Performance Optimization.(Marcel Duran)
Proactive Web Performance Optimization.(Marcel Duran)Proactive Web Performance Optimization.(Marcel Duran)
Proactive Web Performance Optimization.(Marcel Duran)Ontico
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial XmlLiquidHub
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial XmlLiquidHub
 
Ruby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyRuby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyLingoHub
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1Marco Gralike
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial XmlLiquidHub
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS ApplicationsKeshav Murthy
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesPerforce
 
X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009Frank
 
A general introduction to Spring Data / Neo4J
A general introduction to Spring Data / Neo4JA general introduction to Spring Data / Neo4J
A general introduction to Spring Data / Neo4JFlorent Biville
 
Instrumentation with Splunk
Instrumentation with SplunkInstrumentation with Splunk
Instrumentation with SplunkDatavail
 
Triplificating and linking XBRL financial data
Triplificating and linking XBRL financial dataTriplificating and linking XBRL financial data
Triplificating and linking XBRL financial dataRoberto García
 
浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編 浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編 Masakuni Kato
 
Ample SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkAmple SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkBéla Varga
 

Similar to Rubyistに 不足しているのは会計(そろばん)! (20)

Drupal 6.x, Drupal 7.x -- Scratching the surface
Drupal 6.x, Drupal 7.x -- Scratching the surfaceDrupal 6.x, Drupal 7.x -- Scratching the surface
Drupal 6.x, Drupal 7.x -- Scratching the surface
 
TYPO3 Transition Tool
TYPO3 Transition ToolTYPO3 Transition Tool
TYPO3 Transition Tool
 
前瞻性Web性能优化pwpo
前瞻性Web性能优化pwpo前瞻性Web性能优化pwpo
前瞻性Web性能优化pwpo
 
RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031
 
Proactive Web Performance Optimization.(Marcel Duran)
Proactive Web Performance Optimization.(Marcel Duran)Proactive Web Performance Optimization.(Marcel Duran)
Proactive Web Performance Optimization.(Marcel Duran)
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial Xml
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial Xml
 
Ruby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyRuby i18n - internationalization for ruby
Ruby i18n - internationalization for ruby
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial Xml
 
XML in software development
XML in software developmentXML in software development
XML in software development
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS Applications
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse Branches
 
X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009
 
A general introduction to Spring Data / Neo4J
A general introduction to Spring Data / Neo4JA general introduction to Spring Data / Neo4J
A general introduction to Spring Data / Neo4J
 
WEB TECHNOLOGIES XML
WEB TECHNOLOGIES XMLWEB TECHNOLOGIES XML
WEB TECHNOLOGIES XML
 
Instrumentation with Splunk
Instrumentation with SplunkInstrumentation with Splunk
Instrumentation with Splunk
 
Triplificating and linking XBRL financial data
Triplificating and linking XBRL financial dataTriplificating and linking XBRL financial data
Triplificating and linking XBRL financial data
 
浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編 浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編
 
Ample SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkAmple SDK - Open Source GUI Framework
Ample SDK - Open Source GUI Framework
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Rubyistに 不足しているのは会計(そろばん)!

  • 1. Rubyist ( ) iRubySystems @iR3 at 2011.7.18 RubyKaigi LT 2011 7 19
  • 2. @iR3 ↓ 2010.11.6 Ruby http://www.slideshare.net/FUKUIOsamu/20101106-ramaze FA eTax XBRL XBRL .... XBRL 2011 7 19
  • 3. • Rubyist Rubyist should study accounting. Take the leadership beyond worker. • Ruby IFRS XBRL GL If you use Ruby on IFRS System for XBRL GL you will win! • XBRL nokogiri The nokogiri is best tool for XBRL handling. And my recursive method. 2011 7 19
  • 4. 2011 7 19
  • 5. Account , ■ 11 July 16-18 2011 2011 7 19
  • 6. You must stand up to 2011 7 19
  • 7. A long time ago Now IT Accounting 2011 7 19
  • 8. 2011 7 19
  • 9. 2011 7 19
  • 10. 2011 7 19
  • 11. Balance sheet(B/S) Profit and Loss statement(P/L) :2011.3.31 :2010.4.1 2011.3.31 2011 7 19
  • 12. Balance sheet(B/S) Profit and Loss statement(P/L) 2011 7 19
  • 13. 2011 7 19
  • 14. by IFRS P/L B/S 2011 7 19
  • 15. IFRS 2011 7 19
  • 16. IFRS XBRL eXtensible Business Reporting Language XML 2011 7 19
  • 17. 2 XBRL • XBRL FR XBRL GL • XBRL FR Financial Reporting • XBRL GL Global Ledger Framework RECOMMENDATION 2011 7 19
  • 18. XBRL FR GL EDINET TDnet FR e-Tax XBRL GL XML 2011 7 19
  • 19. XBRL GL XBRL GL 2011 7 19
  • 20. XBRL GL 2011 7 19
  • 21. XBRL XBRL 2 XML 2011 7 19
  • 22. 2011 7 19
  • 23. 2011 7 19
  • 24. XML Schema Schema: XML Schema XML <schema xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:gl-plt="http://www.xbrl.org/int/gl/plt/2010-04-12" elementFormDefault="qualified" targetNamespace="http://www.xbrl.org/int/gl/plt/2010-04-12" attributeFormDefault="unqualified"> </schema> 2011 7 19
  • 25. annotation: <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="../../cor/lang/gl-cor-2010-04-12-label.xml" xlink:title="Label Links, all" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="../../cor/lang/gl-cor-2010-04-12-label-ja.xml" xlink:title="Label Links, ja" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> 2011 7 19
  • 26. XML XML nokogiri http://nokogiri.org/ https://github.com/tenderlove/nokogiri install sudo gem install nokogiri 2011 7 19
  • 27. require 'rubygems' require 'nokogiri' @doc = Nokogiri::XML(open("http://www.xbrl.org/ taxonomy/int/gl/2010-04-12/cor/lang/gl- cor-2010-04-12-label-ja.xml")) puts "@doc class : #{@doc.class}" puts "@doc : #{@doc}" 2011 7 19
  • 28. XPath nokogiri XPath XML Path Language  XPath; XML http://ja.wikipedia.org/wiki/XML_Path_Language 2011 7 19
  • 29. <?xml version="1.0" encoding="utf-8"?> <document> <!-- XML --> <chapter title=" 1 "> <paragraph> </paragraph> <paragraph> </paragraph> <paragraph> </paragraph> <paragraph> </paragraph> </chapter> <chapter title=" 2 "> <paragraph> </paragraph> </chapter> </document> 2011 7 19
  • 30. XPath /document : document ■ /* : document XML ■ /document/chapter : document chapter ■ /document/chapter[1] : document 1 chapter ■ //paragraph : paragraph ■ //chapter[@title=" 1 "]/paragraph : title " 1 " chapter paragraph 2011 7 19
  • 31. nokogiri Thank you tenderlove ! 2011 7 19
  • 32. XML http://d.hatena.ne.jp/iR3/20060428#1146221233 # DB def getchild( db, gr_id ) out = "" # sql = "select gr_id,gr_name from grlist where sgr_id=#{gr_id}" rows = db.query(sql) rows.each_with_index{ |row,i| gr_id1 = row[0] gr_name = row[1] out << "<#{gr_name} data='#{gr_id}'>" out << "rn" if gr_id != gr_id1 out << getchild(db, gr_id1) end out << "</#{gr_name} >" out << "rn" } return out end 2011 7 19
  • 33. 2011 7 19
  • 34. • Rubyist Rubyist should study accounting. Take the leadership beyond worker. • Ruby IFRS XBRL GL If you use Ruby on IFRS System for XBRL GL you will win! • XBRL nokogiri The nokogiri is best tool for XBRL handling. And my recursive method. 2011 7 19