Learn about using XSLT to produce EPUB2 and EPUB3 books from XML or XHTML input as well as PDF for print with CSS or XSL-FO. You don't need previous XSLT experience but a willingness to look at a little code will really help.
XSLT can be a functional programming language or a simple template language or anywhere between. We’ll focus on the newer features of XSLT, after a quick overview.
March 18, 2019
ebookcraft.booknetcanada.ca
#EbookCraft
Raise your hand if you've heard this before: Can I drag and drop (or paste) content from somewhere else into XMetaL? The answer is a qualified "yes" -- it can be done, but if the stuff being dropped is not already plain XML, someone has to write some script to make it happen. (That someone is you, the XMetaL customizer.) The stickiest part of the problem is transforming the dropped data into valid XML. But in addition to that, you need to know the mechanics of processing these user actions in XMetaL. In this webinar we will leave aside the "transformation" part of the problem, and focus on the XMetaL APIs for detecting and handling user drop/paste events and inspecting and accessing the user's data from the clipboard.
slides contains all about the ASP.NET MVC 5 based contents, and hopefully this will also guide you how to a write the MVC program using .NET Technology
Std 12 computer chapter 6 object oriented concepts (part 2) by Nuzhat Memon
Aggregation and Composition
Aggregation vs. Composition
Inheritance
Composition vs. Inheritance
gseb computer 2020 and 2021 english medium
File Handling is used in C language for store a data permanently in computer.
Using file handling you can store your data in Hard disk.
http://www.tutorial4us.com/cprogramming/c-file-handling
Raise your hand if you've heard this before: Can I drag and drop (or paste) content from somewhere else into XMetaL? The answer is a qualified "yes" -- it can be done, but if the stuff being dropped is not already plain XML, someone has to write some script to make it happen. (That someone is you, the XMetaL customizer.) The stickiest part of the problem is transforming the dropped data into valid XML. But in addition to that, you need to know the mechanics of processing these user actions in XMetaL. In this webinar we will leave aside the "transformation" part of the problem, and focus on the XMetaL APIs for detecting and handling user drop/paste events and inspecting and accessing the user's data from the clipboard.
slides contains all about the ASP.NET MVC 5 based contents, and hopefully this will also guide you how to a write the MVC program using .NET Technology
Std 12 computer chapter 6 object oriented concepts (part 2) by Nuzhat Memon
Aggregation and Composition
Aggregation vs. Composition
Inheritance
Composition vs. Inheritance
gseb computer 2020 and 2021 english medium
File Handling is used in C language for store a data permanently in computer.
Using file handling you can store your data in Hard disk.
http://www.tutorial4us.com/cprogramming/c-file-handling
Python too supports file handling and allows users to handle files i.e., to read and write files, along with many other file handling options, to operate on files. The concept of file handling has stretched over various other languages, but the implementation is either complicated or lengthy, but alike other concepts of Python, this concept here is also easy and short. Python treats file differently as text or binary and this is important. Each line of code includes a sequence of characters and they form text file. Each line of a file is terminated with a special character, called the EOL or End of Line characters like comma {,} or newline character. It ends the current line and tells the interpreter a new one has begun. Let’s start with Reading and Writing files.
Slides from our CodeMash 2013 Precompiler session, "Web Development with Python and Django", including a breezy introduction to the Python programming language and the Django web framework. The example code repository is available at https://github.com/finiteloopsoftware/django-precompiler/
Provides basic file and directory support classes
Contains types that enable you to read and write files and data streams
Many of the types or classes defined as part of the System.IO namespace are designed around streams
Python too supports file handling and allows users to handle files i.e., to read and write files, along with many other file handling options, to operate on files. The concept of file handling has stretched over various other languages, but the implementation is either complicated or lengthy, but alike other concepts of Python, this concept here is also easy and short. Python treats file differently as text or binary and this is important. Each line of code includes a sequence of characters and they form text file. Each line of a file is terminated with a special character, called the EOL or End of Line characters like comma {,} or newline character. It ends the current line and tells the interpreter a new one has begun. Let’s start with Reading and Writing files.
Slides from our CodeMash 2013 Precompiler session, "Web Development with Python and Django", including a breezy introduction to the Python programming language and the Django web framework. The example code repository is available at https://github.com/finiteloopsoftware/django-precompiler/
Provides basic file and directory support classes
Contains types that enable you to read and write files and data streams
Many of the types or classes defined as part of the System.IO namespace are designed around streams
The Case for Authoring and Producing Books in (X)HTML5Sanders Kleinfeld
HTML5 offers unique advantages to authors and publishers in comparison to both traditional word processing and desktop publishing tools like Microsoft Word and Adobe InDesign, as well as other markup vocabularies like DocBook and AsciiDoc. In this presentation, I explore three key advantages of an HTML5-based workflow: a lightweight production toolchain, optimization for digital-first content development, and WYSIWYG authoring for content creators. I also discuss HTMLBook, a new open, HTML5-based XML standard developed at O'Reilly Media, Inc., which is expressly designed for the authoring and production of both print and digital book content.
"The Ebook Developer's Toolbox" by Sanders Kleinfeld (O’Reilly Media) for ebookcraft 2016, presented by BookNet Canada and eBOUND Canada - March 31, 2016
Java Course 12: XML & XSL, Web & ServletsAnton Keks
Lecture 12 from the IAG0040 Java course in TTÜ.
See the accompanying source code written during the lectures: https://github.com/angryziber/java-course
You Want to Go XML-First: Now What? Building an In-House XML-First Workflow -...BookNet Canada
Workshop: "You Want to Go XML-First: Now What? Building an In-House XML-First Workflow" by Terri Rothman & Sylvia Hunter (P-Shift, University of Toronto Press) for ebookcraft 2016, presented by BookNet Canada and eBOUND Canada - March 30, 2016
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
BookNet Canada’s representative in the BISG Subject Code Committee, Lauren Stewart, updates us on the recent additions and changes made to the BISAC list in the 2023 update, which are particularly important to publishers of Indigenous content.
Link to video recording and slides: https://bnctechforum.ca/sessions/standardsgoals-for-2024-whats-new-for-bisac/
Presented by BookNet Canada on April 25, 2024, with support from the Department of Canadian Heritage.
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
BookNet Canada’s representative in the BISG Subject Code Committee, Lauren Stewart, updates us on the recent additions and changes made to the BISAC list in the 2023 update, which are particularly important to publishers of Indigenous content.
Link to video recording and transcript: https://bnctechforum.ca/sessions/standardsgoals-for-2024-whats-new-for-bisac/
Presented by BookNet Canada on April 25, 2024, with support from the Department of Canadian Heritage.
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
BookNet Canada Project Manager Tim Middleton recaps the highlights from 2023 for the BNC BiblioShare project, including the addition of two new team members, the exciting APIs the team is working on, usage stats, and more.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/new-from-booknet-canada-for-2024-bnc-biblioshare/
Presented by BookNet Canada on April 22, 2024, with support from the Department of Canadian Heritage.
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
BookNet Canada Project Manager Tim Middleton recaps the highlights from 2023 for the BNC BiblioShare project, including the addition of two new team members, the exciting APIs the team is working on, usage stats, and more.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/new-from-booknet-canada-for-2024-bnc-biblioshare/
Presented by BookNet Canada on April 22, 2024, with support from the Department of Canadian Heritage.
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
Join BookNet Canada Associate Product Manager Vivian Luu for this presentation all about what’s new with BNC CataList over the last year. Learn about quick actions, multi-selection of titles in a catalogue, performance improvements, and more. Watch to the end to see what’s ahead for CataList in 2024.
Link to presentation slides and recording: https://bnctechforum.ca/sessions/new-from-booknet-canada-for-2024-bnc-catalist/
Presented by BookNet Canada on April 18, 2024, with support from the Department of Canadian Heritage.
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
Join BookNet Canada Associate Product Manager Vivian Luu for this presentation all about what’s new with BNC CataList over the last year. Learn about quick actions, multi-selection of titles in a catalogue, performance improvements, and more. Watch to the end to see what’s ahead for CataList in 2024.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/new-from-booknet-canada-for-2024-bnc-catalist/
Presented by BookNet Canada on April 18, 2024, with support from the Department of Canadian Heritage.
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
In this presentation, BookNet Canada’s Kalpna Patel shares what 2023 brought for the Loan Stars program, and what’s in store for 2024.
Link to slides and transcript: https://bnctechforum.ca/sessions/new-from-booknet-canada-for-2024-loan-stars/
Presented by BookNet Canada on April 15, 2024, with support from the Department of Canadian Heritage.
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
In this presentation, BookNet Canada’s Kalpna Patel shares what 2023 brought for the Loan Stars program, and what’s in store for 2024.
Link to recording and transcript: https://bnctechforum.ca/sessions/new-from-booknet-canada-for-2024-loan-stars/
Presented by BookNet Canada on April 15, 2024, with support from the Department of Canadian Heritage.
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
Lily Dwyer updates us on what 2023 brought for SalesData and LibraryData. Learn about subject trends we’ve seen, new features and upgrades, and what’s in store for 2024.
Link to video and slides: https://bnctechforum.ca/sessions/new-from-booknet-canada-bnc-salesdata-librarydata-2024/
Presented by BookNet Canada on April 8, 2024 with support from the Department of Canadian Heritage.
Transcript: Green paths: Learning from publishers’ sustainability journeys - ...BookNet Canada
Join us as Karina Stevens, Production Director at Nosy Crow Ltd, Norm Nehmetallah, Publisher at Invisible Publishing, and Sandra Shaw, Director for Editorial and Production at the University of Toronto Press, provide insights into their unique sustainability journeys. Delve into their successful strategies, challenges, and lessons learned, to uncover a roadmap for fellow publishers keen on engaging in a collective effort to shape a sustainable future for the publishing industry. Moderating the conversation will be EJ Hurst, Sales Manager at New Society Publishers, a leader in sustainable publishing in Canada.
Link to video and slides: https://bnctechforum.ca/sessions/green-paths-learning-from-publishers-sustainability-journeys/
Presented by BookNet Canada on March 26, 2024 with support from the Department of Canadian Heritage.
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024BookNet Canada
Join us as Karina Stevens, Production Director at Nosy Crow Ltd, Norm Nehmetallah, Publisher at Invisible Publishing, and Sandra Shaw, Director for Editorial and Production at the University of Toronto Press, provide insights into their unique sustainability journeys. Delve into their successful strategies, challenges, and lessons learned, to uncover a roadmap for fellow publishers keen on engaging in a collective effort to shape a sustainable future for the publishing industry. Moderating the conversation will be EJ Hurst, Sales Manager at New Society Publishers, a leader in sustainable publishing in Canada.
Link to video and transcript: https://bnctechforum.ca/sessions/green-paths-learning-from-publishers-sustainability-journeys/
Presented by BookNet Canada on March 26, 2024 with support from the Department of Canadian Heritage.
Transcript: Book industry state of the nation 2024 - Tech Forum 2024BookNet Canada
An in-depth presentation of the most recent data on Canadian book buyers, readers, and consumers.
Link to video and slides: https://bnctechforum.ca/sessions/book-industry-state-of-the-nation-2024/
Presented by BookNet Canada on April 2, 2024, with support from the Department of Canadian Heritage.
Book industry state of the nation 2024 - Tech Forum 2024BookNet Canada
An in-depth presentation of the most recent data on Canadian book buyers, readers, and consumers.
Link to video and transcript: https://bnctechforum.ca/sessions/book-industry-state-of-the-nation-2024/
Presented by BookNet Canada on April 2, 2024, with support from the Department of Canadian Heritage.
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024BookNet Canada
This webinar will use the most up-to-date data to reveal the emerging trends in the types of books Canadians are buying. Are Canadians still into Comics & Graphic Novels? What about Travel and Romance? BookNet Canada SalesData & LIbraryData team, Lily Dwyer and Kalpna Patel, dig deep into the data to show you the book subjects on the move.
Link to video and transcript: https://bnctechforum.ca/sessions/trending-now-book-subjects-on-the-move-in-the-canadian-market/
Presented by BookNet Canada on February 27, 2024 with support from the Department of Canadian Heritage.
Transcript: Trending now: Book subjects on the move in the Canadian market - ...BookNet Canada
This webinar will use the most up-to-date data to reveal the emerging trends in the types of books Canadians are buying. Are Canadians still into Comics & Graphic Novels? What about Travel and Romance? BookNet Canada SalesData & LIbraryData team, Lily Dwyer and Kalpna Patel, dig deep into the data to show you the book subjects on the move.
Link to presentation slides and video: https://bnctechforum.ca/sessions/trending-now-book-subjects-on-the-move-in-the-canadian-market/
Presented by BookNet Canada on February 27, 2024 with support from the Department of Canadian Heritage.
Transcript: New stores, new views: Booksellers adapting engaging and thriving...BookNet Canada
Chris (Little Ghosts Books), Nena Rawdah (Cross & Crows Books), Chandler Jolliffe (Cedar Canoe Books), and Penny Warris (Analog Books Inc.) get together for a panel where they share insights into their bookselling journeys, collaborative strategies with various partners, and their approach to online vs. in-person bookselling. Learn how they enhance customer engagement, tackle challenges, and prepare for the future.
Link to recording: https://bnctechforum.ca/sessions/new-stores-new-views-booksellers-adapting-engaging-and-thriving/
Presented by BookNet Canada on January 26, 2024, with support from the Department of Canadian Heritage.
Show and tell: What’s in your tech stack? - Tech Forum 2023BookNet Canada
Margaret Bryant (Orca Book Publishers), Jason Farrell (University of Toronto Press), Andrew Faulkner (Assembly Press), Brendan Flattery (HarperCollins), Tamara Mair-Wren (Ampersand Inc.), and Lauren Stewart (BookNet Canada) come together to share the hi- and lo-tech tools that drive efficiency in their daily work. Gain access to a wealth of time-tested tips and tricks honed through years of practice and, in the process, improve your professional toolkit.
Link to recording and transcript: https://bnctechforum.ca/sessions/show-and-tell-whats-in-your-tech-stack/
Presented by BookNet Canada on December 5, 2023, with support from the Department of Canadian Heritage.
Transcript: Show and tell: What’s in your tech stack? - Tech Forum 2023BookNet Canada
Margaret Bryant (Orca Book Publishers), Jason Farrell (University of Toronto Press), Andrew Faulkner (Assembly Press), Brendan Flattery (HarperCollins), Tamara Mair-Wren (Ampersand Inc.), and Lauren Stewart (BookNet Canada) come together to share the hi- and lo-tech tools that drive efficiency in their daily work. Gain access to a wealth of time-tested tips and tricks honed through years of practice and, in the process, improve your professional toolkit.
Link to recording and slides: https://bnctechforum.ca/sessions/show-and-tell-whats-in-your-tech-stack/
Presented by BookNet Canada on December 5, 2023, with support from the Department of Canadian Heritage.
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...BookNet Canada
Supply chains are built and updated by design, with goals set by the stakeholders on the ground. Those goals reflect the era and the tools available when the supply chains were created. As needs and capabilities evolve, old designs can start to limit functionality and limit new idea generation. Join Book Industry Study Group Executive Director Brian O’Leary as he suggests visionary ideas about the book industry as it could be.
In this talk, O’Leary reflects on the goal of promoting growth in the industry, offering ideas to accelerate revenue streams for business development, identify efficiencies, and improve insights. Referencing trends and insights evident today, O’Leary shares his vision of an emerging book industry supply chain and offers advice for professionals working today to future-proof their skills. This webinar will include a longer Q&A session, please bring your questions for Brian O’Leary.
Link to recording and slides: https://bnctechforum.ca/sessions/redefining-the-book-supply-chain-a-glimpse-into-the-future/
Presented by BookNet Canada on November 30, 2023 with support from the Department of Canadian Heritage.
This presentation by Morris Kleiner (University of Minnesota), was made during the discussion “Competition and Regulation in Professions and Occupations” held at the Working Party No. 2 on Competition and Regulation on 10 June 2024. More papers and presentations on the topic can be found out at oe.cd/crps.
This presentation was uploaded with the author’s consent.
Acorn Recovery: Restore IT infra within minutesIP ServerOne
Introducing Acorn Recovery as a Service, a simple, fast, and secure managed disaster recovery (DRaaS) by IP ServerOne. A DR solution that helps restore your IT infra within minutes.
Have you ever wondered how search works while visiting an e-commerce site, internal website, or searching through other types of online resources? Look no further than this informative session on the ways that taxonomies help end-users navigate the internet! Hear from taxonomists and other information professionals who have first-hand experience creating and working with taxonomies that aid in navigation, search, and discovery across a range of disciplines.
0x01 - Newton's Third Law: Static vs. Dynamic AbusersOWASP Beja
f you offer a service on the web, odds are that someone will abuse it. Be it an API, a SaaS, a PaaS, or even a static website, someone somewhere will try to figure out a way to use it to their own needs. In this talk we'll compare measures that are effective against static attackers and how to battle a dynamic attacker who adapts to your counter-measures.
About the Speaker
===============
Diogo Sousa, Engineering Manager @ Canonical
An opinionated individual with an interest in cryptography and its intersection with secure software development.
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Orkestra
UIIN Conference, Madrid, 27-29 May 2024
James Wilson, Orkestra and Deusto Business School
Emily Wise, Lund University
Madeline Smith, The Glasgow School of Art
This presentation, created by Syed Faiz ul Hassan, explores the profound influence of media on public perception and behavior. It delves into the evolution of media from oral traditions to modern digital and social media platforms. Key topics include the role of media in information propagation, socialization, crisis awareness, globalization, and education. The presentation also examines media influence through agenda setting, propaganda, and manipulative techniques used by advertisers and marketers. Furthermore, it highlights the impact of surveillance enabled by media technologies on personal behavior and preferences. Through this comprehensive overview, the presentation aims to shed light on how media shapes collective consciousness and public opinion.
5. Introductions
●
I’m Liam Quin, former XML Activity lead at
W3C, background in digital typography,
programming, computer science, information
architecture. See www.delightfulcomputing.com
.
●
More important: who are you? Who is using
XSLT? Who isn’t? Who is making ebooks?
6. What’s XSLT
●
Functional Programming Language
●
Super Easy and Fun
●
Domain-Specific Language for Trees
●
Text Processing without programming
●
Batch way to convert tons of stuff to other stuff!
●
W3C Standard: books, tutorials, people
7. Functional Programming Language
●
Don’t be intimidated, you can ignore this slide.
●
Buzzword compliance: referential transparency,
lambda expressions, declarative, implicit
dispatch, domain-specific language…
●
The only important one: declarative…
8. Declarative Programming
●
It’s about telling the computer the result you
want, and letting the computer figure out how to
get there all by itself!
●
As opposed to imperative languages (Python,
Java, C, JavaScript, …) where you have to say
how to get there but never describe the result.
9. The Computer is Your Happy Slave
●
Is it really programming if the computer does
the hard parts?
●
Yes, but you don’t have to be a programmer!
●
It is as powerful as an imperative language?
●
Yes, and it’s ideally suited for ebooks!
10. Time for an example
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="book">
<hello>Hello, EBookCraft!</hello>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="book">
<hello>Hello, EBookCraft!</hello>
</xsl:template>
</xsl:stylesheet>
11. Eg01.xsl
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
It’s a stylesheet; you can call it xsl:transform if you prefer.
XSLT was originally designed for formatting and publishing.
</xsl:stylesheet>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
It’s a stylesheet; you can call it xsl:transform if you prefer.
XSLT was originally designed for formatting and publishing.
</xsl:stylesheet>
14. Domain-specific language
●
XSLT uses an XML syntax overall;
●
Expressions are in a W3C language called
XPath;
●
XPath has functions, data types, operators,
if/else, but most importantly it’s a domain-
specific language itself! For navigating trees!
●
This is so awesome!
15. Some sample XPath expressions
(: this is a comment, between smiles! :)
/book/chapter[3]/footnote
A list of all footnotes in the third chapter element
(//table//td[. = 300]/following-sibling::td)[1]
The first in a list of td elements with the same parent
as, and following, a td with content of 300
somewhere in a table!
17. Computer Science Trees
●
Computer scientists all live in basements with no
windows, and we think trees grow down from the
ground, with the roots at the top and the leaves
far, far, beneath our feet.
●
A tree is a way of representing information in a
computer: as a hierarchy.
●
Maybe computer scientists can’t spell hier… um?
22. It’s all about Relationships
●
XPath axes are not about “Turtle Graphics” but
about the relationships between nodes in the
tree.
●
Our tree came from XML. In XSLT 3 it might
have come from JSON or even RDF.
●
There can be many trees in a forest.
23. XSLT 3 Inputs
●
Default input is still a single XML file;
●
A different SAX parser might read e.g. HTML;
●
Can now read binary file, text and JSON;
●
EXPath extension functions can read ZIP;
●
Can make a tree from XML in a ZIP archive!
●
A W E S O M E N E S S I N C A R N A T E
27. What have we done?
●
We read an epub zip file into memory;
●
We extracted container.xml from it;
●
We looked inside container.xml and found the
name of the content.opf file;
●
We looked in that and found the title of the book
that’s in the epub zip file!
28. What else could we do?
●
We can write to a zip archive too;
●
We can update an existing zip archive;
●
We can merge zip archives, so that we can
handle different compression for different files;
●
With this, we can write an epub file!
31. fn:transform()
●
Run another transformation from within XSLT:
<xsl:sequence select='transform(
map {
"stylesheet-location" : "mkcards.xsl",
"source-node" : $toc
}
)?output' />
32. Maps
●
Before we can understand fn:tranform we need
to grok maps and arrays
●
Arrays are in XPath 3.1, maps in 3.0 and 3.1
●
Array: let $a := [ 4, 5, 6 ] return $a(1)
●
Let $b := map { "venue" : "Toronto", "coolness" :
11 } return $b?”venue”
33. Fn:transform return value
●
The fn:transform() function returns a map
whose keys are URIs (filenames!) with
corresponding values being the file contents.
●
The special key “output” gives the direct result
of the stylesheet.
●
Xsl:result-document goes to the map; file:write
happens directly.
34. So What?
●
XSLT 3 can read an epub file, write an epub file,
read and write JSON, XML, HTML, text,
images, zip archives…
●
You don’t need external scripts or pipelines to
make ebooks any more! One stylesheet! And
it’s not even very complicated.
35. All-XSLT advantages
●
Character encodings are handled in the Web
way at every stage;
●
Namespace URIs, XHTML syntax, consistent
treatment of text..
●
Same person can maintain entire workflow;
●
XSLT is a domain-specific language for markup!
37. …write zip files?
●
First, read a zip file:
<xsl:variable name="base-archive"
as="xs:base64Binary"
select="file:read-binary('mimetype.zip')" />
38. …zip ties are fun…
●
So now $base-archive contains a zip archive.
Let’s add some more files to it:
arch:update(
$archive as xs:base64Binary,
$entries as xs:string*,
$new as xs:base64Binary*) as xs:base64Binary
41. Big Fat Zip
●
So now $the-zip-archive is a zip archive full of
happy stuff. Let’s write it out:
<xsl:value-of select="file:write-binary(
'hairyplodder.epub', $the-zip-archive)" />
43. XSLT 3 More Betterness
●
Parse-xml(), parse-json(), serialize();
●
Lots of new functions;
●
More regular expression support;
●
Contains-token() for HTML class attributes;
●
HTML 5 output (read HTML e.g. with TagSoup)
●
Parse-date() helps with metadata