1 / 23

ACG 4401

ACG 4401. XSLT Extensible Stylesheet Language for Transformations Presenting XML and XBRL. XSLT. Extensible Hey it ’ s based on XML Stylesheet What the data will look like Language Scripting Transformations Reuse, Repurpose, calculate, sort, etc. XSLT Parts. XSL

ross-wagner
Download Presentation

ACG 4401

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACG 4401 XSLT Extensible Stylesheet Language for Transformations Presenting XML and XBRL

  2. XSLT • Extensible • Hey it’s based on XML • Stylesheet • What the data will look like • Language • Scripting • Transformations • Reuse, Repurpose, calculate, sort, etc.

  3. XSLT Parts • XSL • Transform Instance Document to different Form • HTML, XHTML, XML (new), PDF • XSLFO • For formatting data

  4. Re-Purpose • The main benefit of XML / XBRL • Reusability of Data contained in Instance Document • We need a method of presenting the data • Presentation Linkbase • XSLT

  5. A UBL Catalogue Node Tree Name PartyName Party + Provider Party + Receiver Party + Catalogue Line ID Name IssueDate Leaf Nodes Branch Nodes Catalogue

  6. Transformation Requires xml code in Two Documents • Instance Document • 2nd Prolog line linking instance document to XSLT document • XSLT Document • Contains script for selecting elements to be displayed

  7. Must have 2nd prolog linking to .xsl XSLT XML Instance document XML Processor XML Result document XSLT Instructions • 2 Inputs: • Instance & XSLT • Processing • Browser

  8. Transforming your Instance Document • Contain elements and data but.. • Does NOT contain formatting information • Add an additional prolog statement • Connects your .xml to your .xsl document <?xml-stylesheet type=“text/xsl” href=“name.xsl”?> • xml-stylesheet • Tells the processor to use the stylesheet file to transform the data in the .xml document • href= • Points to location of .xsl document.

  9. XSLT (the XML code) • Root Element • namespace declaration • <xsl:stylesheet xmlns:xsl=“http://www.w3.org/1999/XSL/Transform” version="1.0"> • All other namespaces used in the instance document (MUST MATCH) • Default namespaces (e.g. without the prefix) are not allowed in XSLT v 1.0 • Need to make up a prefix Don’t forget this!

  10. XSLT Scripting Code • Elements used: • templates • for-each • value-of • Functions • Formatting • Format-number • Sum • Mathematical Operations • +, -, *, div

  11. Templates • Line that follows root element • What elements from .xml are being used? • Templates provide answer • Processing Elements from Instance against Template created in XSLT • <xsl:template match=“/”> • / = Look in entire source document

  12. How to transform data • <HTML> container • Tells processor transformation will use html tags. • Remaining code between <HTML> and </HTML> code is the data to be transformed and the formatting code for the transformation

  13. <?xml version="1.0"?> <Inventory> <InventoryItem> <Name>Basketball</Name> <IdNumber>12345</IdNumber> <Cost units="USD">12.50</Cost> <RetailPrice units="USD">25.00</RetailPrice> </InventoryItem> </Inventory>

  14. value-of • Selects and transforms/formats • Displays the value of the selected element • At the end of the node • Based on select attribute • You must point to the “node” you want displayed • “Full node path” • “Inventory/InventoryItem/IdNumber” = 12345 • “//elementname” • Used when one and only one element has the name • Start at root and look for element name. • <xsl:value-of select=“NodeName”/> • Value-of select can use a function.....

  15. Numeric ceiling() floor() number() round() sum() String concat() contains() normalize-space() starts-with() string() string-length() substring() substring-after() substring-before() translate() Functions

  16. format() function • format-number attribute has two arguments • Number • Pattern (see formatting patterns) • <xsl:value-of select =“format-number(Inventory/InventoryItem/Cost,’$#.00’)”/> Number pattern

  17. Formatting Numbers • 0 A digit. • # A digit, zero shows as absent. • $ prefix • . (period) Placeholder for decimal separator. • , Placeholder for grouping separator. • ; Separate formats. • - Default prefix for negative. • % Multiply by 100 and show as a percentage. • X Any other characters can be used in the prefix or suffix. • ‘ Used to quote special characters in a prefix or suffix.

  18. for-each loop • Selects • All elements contained in a node-set • Node-set is declared with select attribute • Additional .xsl code provide instructions for what to do with selected data • What transformations to make • HTML, and XSL tags combined. • <xsl:for-each select=“Inventory/InventoryItem>

  19. Accessing Remote Instance Docs • document() function • <xsl:value-of select=“document(‘URI.xml’)/xpath”/>

  20. Output (HTML) • <HTML> • Transformation will be to an HTML doc. • <Center> • All tags must be closed!

  21. Defining Tables in HTML • <Table Border=“n”> • Tells browser to begin making a table • <TR> • Tells browser to insert a new row • <TH> • Tells browser to insert a new column in the new row AND use text as heading (bold) • <TD> • Tells browser to insert a new column in the new row • Close all tags • </TD>, </TR>, </Table>

  22. Table with 2 rows and 3 columns <TABLE BORDER=“1”> <TR> <TD>r1c1</TD> <TD>r1c2</TD> <TD>r1c3</TD></TR> <TR> <TD>r2c1</TD> <TD>r2c2</TD> <TD>r2c3</TD></TR>

More Related