SlideShare a Scribd company logo
Getting Started with XSL
       Templates
             Will Trillich
   EPortfolio Wonk, Serensoft
   will.trillich@serensoft.com
                    Attribution Share Alike
What’s This Workshop About?
• Turning an image-and-a-matrix-with-
  some-forms into a “portfolio” web page



 …by getting OSP to reveal its XML
 structure so we can build HTML using XSL
Who This Is For
• Skills needed to build XSL style sheets:
  • Demented Computer-Science type,
    Web-Developer (not Designer) brain
  • Willing to sling <xml>trees</xml> around
  • Understand algorithms
     • For-each <xsl:for-each>loops</xsl:for-each>
     • If-then-else <xsl:choose>conditionals</xsl:choose>
     • And then be willing to dig into a totally different,
       declarative programming language: XSL

    July 2009              10th Sakai Conference - Boston, MA, U.S.A.   3
Prerequisites
• Today you’ll need a sandbox worksite
  • You can create one on your own campus
    Sakai instance (Needs Resources, Matrix,
   Portfolio, Portfolio Templates)
  • Or I can hook you up on our Serensoft
    sandbox for today’s session
• Have (or create) a matrix, usually
• A simple form or two
• Own a good XML editor (OxygenXML?)
With all that out of the way

Where Do We Begin?




    July 2009                  10th Sakai Conference - Boston, MA, U.S.A.   5
First, Choose Your Target
• You’ll go through quite a process…
Cultural/Political Steps
• Get your stakeholders together and
  discuss everything
  • Deliberate about the portfolio objectives
  • Deliberate about what content it should
    include—and exclude
  • Deliberate about its structure
  • Deliberate about layout
  • Deliberate about the branding and design
After The Committee Meetings
• You’ll arrive at a sketch something like this
Your Designer Creates HTML
• Web designer takes the sketch and makes
  HTML magic accordingly (or purloin some
  from www.oswd.org et al)
• Then you take that HTML and break it up
  into repeating sections
  • Forms X and Y fill this part out over here
  • Matrix cells go here, columns and rows go
    there
  • Portrait image shows up over yonder
The Web Developer Makes It Happen

• So how do we make this template work?
• How do we take a matrix with some forms
  and conjure up a web page from that?
These are

The Steps To Build A Template




   July 2009   10th Sakai Conference - Boston, MA, U.S.A.   11
MECHANICAL STEPS
•   Have something to work with (Matrix, Forms)
•   Create a “pass-through” template
•   Create a portfolio based on the template,
    using your content, and save the XML
•   Build your XSL to do magic with that XML
    (return to step 1 as needed, for the content
    you forgot)
•   When it’s ready, replace the pass-through XSL
    in the template with your magical XSL
•   Bask in the accolades
MECHANICAL ITERATION
•   Update something to work with (Matrix, Forms)
•   Create a “pass-through” template
•   Refresh your portfolio, and save the updated
    XML
•   Tweak your XSL to do magic with that XML
    (return to step 1 as needed, for the content
    you forgot)
•   When it’s ready, replace the pass-through XSL
    in the template with your updated XSL
•   Bask in the accolades
Back On Campus…
• The following slides are what you’ll need
  to do back on campus
Have Some Forms Available
• Build forms to collect data from your users
• Nice, repeatable structured artifacts
  • Forms were previously
    called “structured
    artifact definitions”
    or SADs
Start with a Matrix
• Build your matrix
• Couple of rows
• Columns as needed
Attach Forms to your cells
• Matrix “edit” > pick-a-cell
  • Specify Forms for Reflection, Feedback,
    Evaluation or whatever
Or just nab a pre-set matrix
• …but for today’s workshop, just import
  OSP-Matrix.zip
• From www.serensoft.net/sakai09
• Create some data for OSP to deliver
  • Open matrix as user, dive into cells and:
    • Fill out some forms
    • Attach some files
Now what?
• We’ve got a matrix because that’s a
  convenient way to structure our portfolio
• We’ve got forms attached to the matrix so
  we can collect data at predictable spots
• We’ve got some sample data from filled-
  out forms

• Now we build a template.
So create a template already
• Let’s say our stakeholders want a portfolio
  based on:
  • Matrix for structure
  • Head-shot/portrait independent of the matrix
• That means our template will require two
  ingredients from the student
  • “matrix” element will be a matrix
  • “portrait” element will be an uploaded image
The first thing a template needs…
• (After its name)
• Is an XSL stylesheet
  • Which we need to build from scratch, and
    thus we don’t have one
  • So we pull in the granddaddy of all XSL
    stylesheets: passthrough.xsl (also available at
    serensoft.net/sakai09 )
PassThrough.xsl
• Finds the root object and copies it to the output
<?xml version="1.0" ?>

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <xsl:copy-of select="." />
</xsl:template>

</xsl:stylesheet>

• Upload that to your resources (mime type text/xml)
Now Create Your Template
•       Portfolio Template Tool > New
•       Give it a name/description
•       Basic Template Outline (stylesheet) is
        passthrough.xsl
•       Two items needed: Matrix, Image
    •     More info on step 3, next 2 slides
5. No supporting files, for today
• Easy!
Details on Template Building, Step 3

• Add Type “Matrix”
  • Name (XML Element name) ‘matrix’
  • Title (for human-readability) ‘Pick a Matrix’
  • Description may also be useful
• Don’t forget to click
  “Add to List”!
     Becomes the
     XML Element
           Name
Template Building, Detail Step 3 Still

• Add Type “uploaded file”
  • Name (XML Element name) ‘portrait’
                             Becomes the
                             XML Element
                             Name


  • Mime type ‘image’
• Don’t forget to click
  “Add to List”!
Save Your New Template
• Now you can create a portfolio based on
  your pass-through template!
Now Create A Portfolio
• You’ve filled out some forms in the matrix,
  so you’ve got something to work with
• Create a portfolio on your new template
• Portfolio tool > Add/Create (2.5 vs 2.6)
  • Include your matrix
  • Include/upload an image, too
• Now save it… and then view your portfolio
Yikes!
• It’s garbage in my browser! Eww!




• It’s exactly what we want! It’s not formatted for
  HTML viewing, it’s just naked XML
• Save it to your desktop as a
  viewPresentation.xml file
Perfect!
•       In your local copy of the XML, add line 2:
    •     <?xml version="1.0" encoding="UTF-8"?>
    •     <?xml-stylesheet type="text/xsl" href="your-template-here.xsl"?>
    •     <xml-here>
    •     ...
    •     </xml-here>

•       Make the href refer to the magical XSL
        style sheet you’re working on
A Quick Overview Of

How XSL Works
(The fun part!)




    July 2009         10th Sakai Conference - Boston, MA, U.S.A.   30
www.Serensoft.Net/sakai09
• Check out the
  Person.xml file there
• View source, and…
  where does all the
  formatting come from?
  The branding? The
  header and the footer?
  Not to mention the
  presentation of the data
  itself!
Person.xml view-source
• It’s just the data, so
  where does the
  formatting come
  from?
• It’s the <?xml-
  stylesheet> directive!
Without the XSL stylesheet
• In Firefox the default
  XML rendering would
  look like this
• But we can specify an
  XSL stylesheet to
  render it, instead
• Now we know the
  secret to “No style
  information”!
Open the linked stylesheet
• Click to view the stylesheet itself

• Then view-source to “see” it for real
• Save these files (.xml, .xsl) to your local
  filesystem and tinker with them to get the
  idea
Same idea with the XML from OSP
• Have the XML refer to your XSL stylesheet
• Open the XML in your browser
• Then:
  • Tweak your XSL
  • Refresh your browser
  • Repeat as needed
• Upload your XSL and point the template to
  it – and you’re off to the races!
Have Fun Tinkering With Your Newfound

OSP Template Savvy




   July 2009               10th Sakai Conference - Boston, MA, U.S.A.   36

More Related Content

ODP
Yahoo! Search monkey API - CEBIT 2008
PDF
CSS 201
PPTX
Getting Started With CSS
PPTX
cpp-2013 #7 Templates and STL Containers
PPTX
Writing a WordPress Theme - HighEdWeb 2013 #WRK2
PPTX
Design todevelop
PPTX
JSLink for ITPros - SharePoint Saturday Jersey
KEY
The web standards gentleman: a matter of (evolving) standards)
Yahoo! Search monkey API - CEBIT 2008
CSS 201
Getting Started With CSS
cpp-2013 #7 Templates and STL Containers
Writing a WordPress Theme - HighEdWeb 2013 #WRK2
Design todevelop
JSLink for ITPros - SharePoint Saturday Jersey
The web standards gentleman: a matter of (evolving) standards)

Viewers also liked (20)

PDF
Tom Dickandharry | Case Histories
PDF
SKF First-quarter 2011 report
 
PDF
Skf in brief_2009_en
 
PPT
GEO Nov 09 Pearson
PDF
Personal Branding 2.0
PPTX
Iact Overview Presentation U.S.
PDF
El Transcantabrico Gran Lujo 2011
PPT
Fossziliakrol
PPT
Basic PC Skills
PDF
Notification For Cap Mba Option Form2009 10
PPT
Presentation1
PDF
FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...
PPT
El Gos Den Pol
 
PPT
Surrealism
PDF
PPTX
You Scream I Scream Gazpacho
PDF
Robert Rafton Photography
PDF
I korthet a4_e4
 
PDF
eParticipatie en social media Kennissessie presentatie
PPT
Flash Builder4 と FlashCatalyst を使ってみた
Tom Dickandharry | Case Histories
SKF First-quarter 2011 report
 
Skf in brief_2009_en
 
GEO Nov 09 Pearson
Personal Branding 2.0
Iact Overview Presentation U.S.
El Transcantabrico Gran Lujo 2011
Fossziliakrol
Basic PC Skills
Notification For Cap Mba Option Form2009 10
Presentation1
FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...
El Gos Den Pol
 
Surrealism
You Scream I Scream Gazpacho
Robert Rafton Photography
I korthet a4_e4
 
eParticipatie en social media Kennissessie presentatie
Flash Builder4 と FlashCatalyst を使ってみた
Ad

Similar to Getting Started With Xsl Templates (20)

PPS
Intro to xsl templates
PPTX
Sakai09 Osp Preconference Afternoon Templates
PPT
Lecture 2 - Using XML for Many Purposes
PPT
Rendering XML Documents
PPT
XML/XSLT
PPTX
DSpace 4.2 XMLUI Theming
PPT
XSLT Formats in Website Templates in Cascade Server CMS by Jay Mercer
PPTX
XPATH_XSLT-1.pptx
PPS
Xml session05
PDF
xml test
PDF
test slideshare
PDF
Why XML is important for everyone, especially technical communicators
PPTX
XML for Humans: Non-geek Discussion of a Geek-chic Topic
PDF
Learning Xslt A Handson Introduction To Xslt And Xpath 1st Edition Michael Ja...
PPTX
Xml data transformation
PPTX
XML - Extensible Markup Language for Network Security.pptx
PPTX
Xml For Dummies Chapter 16 Xml And Forms it-slideshares.blogspot.com
PPTX
Stupid Index Block Tricks
PPT
Rendering XML Document
Intro to xsl templates
Sakai09 Osp Preconference Afternoon Templates
Lecture 2 - Using XML for Many Purposes
Rendering XML Documents
XML/XSLT
DSpace 4.2 XMLUI Theming
XSLT Formats in Website Templates in Cascade Server CMS by Jay Mercer
XPATH_XSLT-1.pptx
Xml session05
xml test
test slideshare
Why XML is important for everyone, especially technical communicators
XML for Humans: Non-geek Discussion of a Geek-chic Topic
Learning Xslt A Handson Introduction To Xslt And Xpath 1st Edition Michael Ja...
Xml data transformation
XML - Extensible Markup Language for Network Security.pptx
Xml For Dummies Chapter 16 Xml And Forms it-slideshares.blogspot.com
Stupid Index Block Tricks
Rendering XML Document
Ad

Getting Started With Xsl Templates

  • 1. Getting Started with XSL Templates Will Trillich EPortfolio Wonk, Serensoft will.trillich@serensoft.com Attribution Share Alike
  • 2. What’s This Workshop About? • Turning an image-and-a-matrix-with- some-forms into a “portfolio” web page …by getting OSP to reveal its XML structure so we can build HTML using XSL
  • 3. Who This Is For • Skills needed to build XSL style sheets: • Demented Computer-Science type, Web-Developer (not Designer) brain • Willing to sling <xml>trees</xml> around • Understand algorithms • For-each <xsl:for-each>loops</xsl:for-each> • If-then-else <xsl:choose>conditionals</xsl:choose> • And then be willing to dig into a totally different, declarative programming language: XSL July 2009 10th Sakai Conference - Boston, MA, U.S.A. 3
  • 4. Prerequisites • Today you’ll need a sandbox worksite • You can create one on your own campus Sakai instance (Needs Resources, Matrix, Portfolio, Portfolio Templates) • Or I can hook you up on our Serensoft sandbox for today’s session • Have (or create) a matrix, usually • A simple form or two • Own a good XML editor (OxygenXML?)
  • 5. With all that out of the way Where Do We Begin? July 2009 10th Sakai Conference - Boston, MA, U.S.A. 5
  • 6. First, Choose Your Target • You’ll go through quite a process…
  • 7. Cultural/Political Steps • Get your stakeholders together and discuss everything • Deliberate about the portfolio objectives • Deliberate about what content it should include—and exclude • Deliberate about its structure • Deliberate about layout • Deliberate about the branding and design
  • 8. After The Committee Meetings • You’ll arrive at a sketch something like this
  • 9. Your Designer Creates HTML • Web designer takes the sketch and makes HTML magic accordingly (or purloin some from www.oswd.org et al) • Then you take that HTML and break it up into repeating sections • Forms X and Y fill this part out over here • Matrix cells go here, columns and rows go there • Portrait image shows up over yonder
  • 10. The Web Developer Makes It Happen • So how do we make this template work? • How do we take a matrix with some forms and conjure up a web page from that?
  • 11. These are The Steps To Build A Template July 2009 10th Sakai Conference - Boston, MA, U.S.A. 11
  • 12. MECHANICAL STEPS • Have something to work with (Matrix, Forms) • Create a “pass-through” template • Create a portfolio based on the template, using your content, and save the XML • Build your XSL to do magic with that XML (return to step 1 as needed, for the content you forgot) • When it’s ready, replace the pass-through XSL in the template with your magical XSL • Bask in the accolades
  • 13. MECHANICAL ITERATION • Update something to work with (Matrix, Forms) • Create a “pass-through” template • Refresh your portfolio, and save the updated XML • Tweak your XSL to do magic with that XML (return to step 1 as needed, for the content you forgot) • When it’s ready, replace the pass-through XSL in the template with your updated XSL • Bask in the accolades
  • 14. Back On Campus… • The following slides are what you’ll need to do back on campus
  • 15. Have Some Forms Available • Build forms to collect data from your users • Nice, repeatable structured artifacts • Forms were previously called “structured artifact definitions” or SADs
  • 16. Start with a Matrix • Build your matrix • Couple of rows • Columns as needed
  • 17. Attach Forms to your cells • Matrix “edit” > pick-a-cell • Specify Forms for Reflection, Feedback, Evaluation or whatever
  • 18. Or just nab a pre-set matrix • …but for today’s workshop, just import OSP-Matrix.zip • From www.serensoft.net/sakai09 • Create some data for OSP to deliver • Open matrix as user, dive into cells and: • Fill out some forms • Attach some files
  • 19. Now what? • We’ve got a matrix because that’s a convenient way to structure our portfolio • We’ve got forms attached to the matrix so we can collect data at predictable spots • We’ve got some sample data from filled- out forms • Now we build a template.
  • 20. So create a template already • Let’s say our stakeholders want a portfolio based on: • Matrix for structure • Head-shot/portrait independent of the matrix • That means our template will require two ingredients from the student • “matrix” element will be a matrix • “portrait” element will be an uploaded image
  • 21. The first thing a template needs… • (After its name) • Is an XSL stylesheet • Which we need to build from scratch, and thus we don’t have one • So we pull in the granddaddy of all XSL stylesheets: passthrough.xsl (also available at serensoft.net/sakai09 )
  • 22. PassThrough.xsl • Finds the root object and copies it to the output <?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:copy-of select="." /> </xsl:template> </xsl:stylesheet> • Upload that to your resources (mime type text/xml)
  • 23. Now Create Your Template • Portfolio Template Tool > New • Give it a name/description • Basic Template Outline (stylesheet) is passthrough.xsl • Two items needed: Matrix, Image • More info on step 3, next 2 slides 5. No supporting files, for today • Easy!
  • 24. Details on Template Building, Step 3 • Add Type “Matrix” • Name (XML Element name) ‘matrix’ • Title (for human-readability) ‘Pick a Matrix’ • Description may also be useful • Don’t forget to click “Add to List”! Becomes the XML Element Name
  • 25. Template Building, Detail Step 3 Still • Add Type “uploaded file” • Name (XML Element name) ‘portrait’ Becomes the XML Element Name • Mime type ‘image’ • Don’t forget to click “Add to List”!
  • 26. Save Your New Template • Now you can create a portfolio based on your pass-through template!
  • 27. Now Create A Portfolio • You’ve filled out some forms in the matrix, so you’ve got something to work with • Create a portfolio on your new template • Portfolio tool > Add/Create (2.5 vs 2.6) • Include your matrix • Include/upload an image, too • Now save it… and then view your portfolio
  • 28. Yikes! • It’s garbage in my browser! Eww! • It’s exactly what we want! It’s not formatted for HTML viewing, it’s just naked XML • Save it to your desktop as a viewPresentation.xml file
  • 29. Perfect! • In your local copy of the XML, add line 2: • <?xml version="1.0" encoding="UTF-8"?> • <?xml-stylesheet type="text/xsl" href="your-template-here.xsl"?> • <xml-here> • ... • </xml-here> • Make the href refer to the magical XSL style sheet you’re working on
  • 30. A Quick Overview Of How XSL Works (The fun part!) July 2009 10th Sakai Conference - Boston, MA, U.S.A. 30
  • 31. www.Serensoft.Net/sakai09 • Check out the Person.xml file there • View source, and… where does all the formatting come from? The branding? The header and the footer? Not to mention the presentation of the data itself!
  • 32. Person.xml view-source • It’s just the data, so where does the formatting come from? • It’s the <?xml- stylesheet> directive!
  • 33. Without the XSL stylesheet • In Firefox the default XML rendering would look like this • But we can specify an XSL stylesheet to render it, instead • Now we know the secret to “No style information”!
  • 34. Open the linked stylesheet • Click to view the stylesheet itself • Then view-source to “see” it for real • Save these files (.xml, .xsl) to your local filesystem and tinker with them to get the idea
  • 35. Same idea with the XML from OSP • Have the XML refer to your XSL stylesheet • Open the XML in your browser • Then: • Tweak your XSL • Refresh your browser • Repeat as needed • Upload your XSL and point the template to it – and you’re off to the races!
  • 36. Have Fun Tinkering With Your Newfound OSP Template Savvy July 2009 10th Sakai Conference - Boston, MA, U.S.A. 36