Another Word For It Patrick Durusau on Topic Maps and Semantic Diversity

November 28, 2015

Saxon 9.7 Release!

Filed under: Saxon,XQuery,XSLT — Patrick Durusau @ 4:29 pm

I saw a tweet from Michael Kay announcing that Saxon 9.7 has been released!

Saxon 9.7 is up to date with the XSLT 3.0 Candidate Recommendation released from the W3C November 19, 2015.

From the details page:

  • XSLT 3.0 implementation largely complete (requires Saxon-PE or Saxon-EE): The new XSLT 3.0 Candidate Recommendation was published on 19 November 2015, and Saxon 9.7 is a complete implementation with a very small number of exceptions. Apart from general updating of Saxon as the spec has developed, the main area of new functionality is in packaging, which allows stylesheet modules to be independently compiled and distributed, and provides much more “software engineering” control over public and private interfaces, and the like. The ability to save packages in compiled form gives much faster loading of frequently used stylesheets.
  • Schema validation: improved error reporting. The schema validator now offers customised error reporting, with an option to create an XML report detailing all validation errors found. This has structured information about each error so the report can readily be customised; it has been developed in conjunction with some of our IDE partners who can use this information to provide an improved interactive presentation of the validation report.
  • Arrays, Maps, and JSON: Arrays are implemented as a new data type (defined in XPath 3.1). Along with maps, which were already available in Saxon 9.6, this provides the infrastructure for full support of JSON, including functions such as parse-json() which converts JSON to a structure of maps and arrays, and the JSON serialization method which does the inverse.
  • Miscellaneous new functions: two of the most interesting are random-number-generator(), and parse-ietf-date().
  • Streaming: further improvements to the set of constructs that can be streamed, and the diagnostics when constructs cannot be streamed.
  • Collections: In line with XPath 3.1 changes, a major overhaul of the way collections work. They can now contain any kind of item, and new abstractions are provided to give better control over asynchronous and parallel resource fetching, parsing, and validation.
  • Concurrency improvements: Saxon 9.6 already offered various options for executing stylesheets in parallel to take advantage of multi-code processors. These facilities have now been tuned for performance and made more robust, by taking advantage of more advanced concurrency features in the JDK platform. The Saxon NamePool, which could be a performance bottleneck in high throughput workloads, has been completely redesigned to allow much higher concurrency.
  • Cost-based optimization: Saxon’s optimizer now makes cost estimates in order to decide the best execution strategy. Although the estimates are crude, they have been found to make a vast difference to the execution speed of some stylesheets. Saxon 9.7 particularly addresses the performance of XSLT pattern matching.

There was no indication of when these features will appear in the free “home edition.”

In the meantime, you can go the Online Shop for Saxonica.

Currency conversion rates vary but as of today, Saxon-PE (Professional Edition) is about $75 U.S. and some change.

I’m considering treating myself to Saxon-PE as a Christmas present to myself.

And you?

November 19, 2015

XSL Transformations (XSLT) Version 3.0 [Comments by 31 March 2016]

Filed under: XML,XSLT — Patrick Durusau @ 10:06 am

XSL Transformations (XSLT) Version 3.0

Abstract:

This specification defines the syntax and semantics of XSLT 3.0, a language designed primarily for transforming XML documents into other XML documents.

XSLT 3.0 is a revised version of the XSLT 2.0 Recommendation [XSLT 2.0] published on 23 January 2007.

The primary purpose of the changes in this version of the language is to enable transformations to be performed in streaming mode, where neither the source document nor the result document is ever held in memory in its entirety. Another important aim is to improve the modularity of large stylesheets, allowing stylesheets to be developed from independently-developed components with a high level of software engineering robustness.

XSLT 3.0 is designed to be used in conjunction with XPath 3.0, which is defined in [XPath 3.0]. XSLT shares the same data model as XPath 3.0, which is defined in [XDM 3.0], and it uses the library of functions and operators defined in [Functions and Operators 3.0]. XPath 3.0 and the underlying function library introduce a number of enhancements, for example the availability of higher-order functions.

As an implementer option, XSLT 3.0 can also be used with XPath 3.1. All XSLT 3.0 processors provide maps, an addition to the data model which is specified (identically) in both XSLT 3.0 and XPath 3.1. Other features from XPath 3.1, such as arrays, and new functions such as random-number-generatorFO31 and sortFO31, are available in XSLT 3.0 stylesheets only if the implementer chooses to support XPath 3.1.

Some of the functions that were previously defined in the XSLT 2.0 specification, such as the format-dateFO30 and format-numberFO30 functions, are now defined in the standard function library to make them available to other host languages.

XSLT 3.0 also includes optional facilities to serialize the results of a transformation, by means of an interface to the serialization component described in [XSLT and XQuery Serialization]. Again, the new serialization capabilities of [XSLT and XQuery Serialization 3.1] are available at the implementer’s option.

This document contains hyperlinks to specific sections or definitions within other documents in this family of specifications. These links are indicated visually by a superscript identifying the target specification: for example XP30 for XPath 3.0, DM30 for the XDM data model version 3.0, FO30 for Functions and Operators version 3.0.

Comments are due by 31 March 2016.

That may sound like a long time for comments but it is shorter than you might think.

It is a long document and standards are never an “easy” read.

Fortunately it is cold weather or about to be in many parts of the world with holidays rapidly approaching. Some extra time to curl up with XSL Transformations (XSLT) Version 3.0 and its related documents for a slow read.

Something I have never done before that I plan to attempt with this draft is running the test cases, almost 11,000 of them. I’m not an implementer but being more familiar with the test cases will my understanding of new features in XSL 3.0.

Comment early and often!

Enjoy!

November 3, 2015

XML Prague 2016 – Call for Papers [Looking for a co-author?]

Filed under: Conferences,XML,XPath,XQuery,XSLT — Patrick Durusau @ 6:54 pm

XML Prague 2016 – Call for Papers

Important Dates:

  • November 30th – End of CFP (full paper or extended abstract)
  • January 4th – Notification of acceptance/rejection of paper to authors
  • January 25th – Final paper
  • February 11-13, XML Prague 2016

From the webpage:

XML Prague 2016 now welcomes submissions for presentations on the following topics:

  • Markup and the Extensible Web – HTML5, XHTML, Web Components, JSON and XML sharing the common space
  • Semantic visions and the reality – micro-formats, semantic data in business, linked data
  • Publishing for the 21th century – publishing toolchains, eBooks, EPUB, DITA, DocBook, CSS for print, …
  • XML databases and Big Data – XML storage, indexing, query languages, …
  • State of the XML Union – updates on specs, the XML community news, …

All proposals will be submitted for review by a peer review panel made up of the XML Prague Program Committee. Submissions will be chosen based on interest, applicability, technical merit, and technical correctness.

Accepted papers will be included in published conference proceedings.

Authors should strive to contain original material and belong in the topics previously listed. Submissions which can be construed as product or service descriptions (adverts) will likely be deemed inappropriate. Other approaches such as use case studies are welcome but must be clearly related to conference topics.

Accepted presenters must submit their full paper (on time) and give their presentation and answer questions in English, as well as follow the XML Prague 2016 conference guidelines.

I don’t travel but am interested in co-authoring a paper with someone who plans on attending XML Prague 2016. Contact me at patrick@durusau.net.

May 30, 2015

TMXSL

Filed under: Topic Maps,XSLT — Patrick Durusau @ 7:43 pm

TMXSL

From the readme file:

XSL(T) stylesheets to translate non topic map sources and Topic Maps syntaxes

Currently supported:

* TM/XML -> CTM 1.0, XTM 1.0, XTM 2.0, XTM 2.1

* XTM 1.0 -> CTM 1.0, XTM 2.0, XTM 2.1

* XTM 2.x -> CTM 1.0, XTM 2.1, JTM 1.0, JTM 1.1, XTM 1.0

* Atom 1.0 -> XTM 2.1

* RSS -> XTM 2.1

* OpenDocument Metadata -> TM/XML (experimental)

License: BSD

Lars Heuer has updated TMXSL!

The need for robust annotation of data grows daily and every new solution that I have seen is “Another Do It My Way (ADIMW).” Which involves loss of data “Done The Old Way (DTOW)” and changing software. And the cycle repeats itself in small and large ways with every new generation.

Topic maps could change that, even topic maps with the syntactic cruft from early designs could do better. Reconsidered, topic maps can do far better.

More on that topic anon!

January 21, 2015

Balisage: The Markup Conference 2015

Filed under: Conferences,XML,XML Schema,XPath,XProc,XQuery,XSLT — Patrick Durusau @ 8:48 pm

Balisage: The Markup Conference 2015 – There is Nothing As Practical As A Good Theory

Key dates:
– 27 March 2015 — Peer review applications due
– 17 April 2015 — Paper submissions due
– 17 April 2015 — Applications for student support awards due
– 22 May 2015 — Speakers notified
– 17 July 2015 — Final papers due
– 10 August 2015 — Symposium on Cultural Heritage Markup
– 11–14 August 2015 — Balisage: The Markup Conference

Bethesda North Marriott Hotel & Conference Center, just outside Washington, DC (I know, no pool with giant head, etc. Do you think if we ask nicely they would put one in? And change the theme of the decorations about every 30 feet in the lobby?)

Balisage is the premier conference on the theory, practice, design, development, and application of markup. We solicit papers on any aspect of markup and its uses; topics include but are not limited to:

  • Cutting-edge applications of XML and related technologies
  • Integration of XML with other technologies (e.g., content management, XSLT, XQuery)
  • Web application development with XML
  • Performance issues in parsing, XML database retrieval, or XSLT processing
  • Development of angle-bracket-free user interfaces for non-technical users
  • Deployment of XML systems for enterprise data
  • Design and implementation of XML vocabularies
  • Case studies of the use of XML for publishing, interchange, or archiving
  • Alternatives to XML
  • Expressive power and application adequacy of XSD, Relax NG, DTDs, Schematron, and other schema languages
  • Detailed Call for Participation: http://balisage.net/Call4Participation.html
    About Balisage: http://balisage.net/
    Instructions for authors: http://balisage.net/authorinstructions.html

    For more information: info@balisage.net or +1 301 315 9631

    I wonder if the local authorities realize the danger in putting that many skilled markup people so close the source of so much content? (Washington) With attendees sparking off against each other, who knows?, could see an accountable and auditable legislative and rule making document flow arise. There may not be enough members of Congress in town to smother it.

    The revolution may not be televised but it will be powered by markup and its advocates. Come join the crowd with the tools to make open data transparent.

    January 14, 2015

    Building Definitions Lists for XPath/XQuery/etc.

    Filed under: Standards,XPath,XQuery,XSLT — Patrick Durusau @ 3:30 pm

    I have extracted the definitions from:

    These lists are unsorted and the paragraphs with multiple definitions are repeated for each definition. Helps me spot where I have multiple definitions that may be followed by non-normative prose, applicable to one or more definitions.

    Usual follies trying to extract the definitions.

    My first attempt (never successful in my experience but I have to try it so as to get to the second, third, etc.) resulted in:

    DefinitionDefinitionDefinitionDefinitionDefinitionDefinitionDefinitionDefinitionDefinition

    Which really wasn’t what I meant. Unfortunately it was what I had asked for. 😉

    Just in case you are curious, the guts to extracting the definitions reads:

    <xsl:for-each select=”//p/a[contains(@name, ‘dt’)]”>
    <p>
    <xsl:copy-of select=”ancestor::p”/>
    </p>
    </xsl:for-each>

    Each of the definitions is contained in a p element where the anchor for the definition is contained in an a element with the attribute name, “dt-(somename).”

    This didn’t work in all four (4) cases because XPath and XQuery Functions and Operators 3.1 records its “[Definition” elements as:

    <p><span class=”termdef”><a name=”character” id=”character” shape=”rect”></a>[Definition] A <b>character</b> is an instance of the <a href=”http://www.w3.org/TR/REC-xml/#NT-Char” shape=”rect”>Char</a><sup><small>XML</small></sup> production of <a href=”#xml” shape=”rect”>[Extensible Markup Language (XML) 1.0 (Fifth Edition)]</a>.</span></p>

    I’m sure there is some complex trickery you could use to account for that case but with four files, this is meatball XSLT, results over elegance.

    Multiple definitions in one paragraph must be broken out so they can be sorted along with the other definitions.

    The one thing I forgot to do in the XSLT that you should do when comparing multiple standards was to insert an identifier at the end of each paragraph for the text it was drawn from. Thus:

    [Definition: Every instance of the data model is a sequence. XDM]

    Where XDM is in a different color for each source.

    Proofing all these definitions across four (4) specifications (XQueryX has no additions definitions, aside from unnecessarily restating RFC 2119) is no trivial matter. Which is why I have extracted them and will be producing a deduped and sorted version.

    When you have long or complicated standards to proof, it helps to break them down in to smaller parts. Especially if the parts are out of their normal reading context. That helps avoid simply nodding along because you have read the material so many times.

    FYI, comments on errors most welcome! Producing the lists was trivial. Proofing the headers, footers, license language, etc. took longer than the lists.

    Enjoy!

    October 10, 2014

    Last Call: XQuery 3.1 and XQueryX 3.1; and additional supporting documents

    Filed under: JSON,XPath,XQuery,XSLT — Patrick Durusau @ 9:02 am

    Last Call: XQuery 3.1 and XQueryX 3.1; and additional supporting documents

    From the post:

    Today the XQuery Working Group published a Last Call Working Draft of XQuery 3.1 and XQueryX 3.1. Additional supporting documents were published jointly with the XSLT Working Group: a Last Call Working Draft of XPath 3.1, together with XPath Functions and Operators, XQuery and XPath Data Model, and XSLT and XQuery Serialization. XQuery 3.1 and XPath 3.1 introduce improved support for working with JSON data with map and array data structures as well as loading and serializing JSON; additional support for HTML class attributes, HTTP dates, scientific notation, cross-scaling between XSLT and XQuery and more. Comments are welcome through 7 November 2014. Learn more about the XML Activity.

    How closely do you read?

    To answer that question, read all the mentioned documents by 7 November 2014, keeping a list of errors you spot.

    Submit your list to the XQuery Working Group by by 7 November 2014 and score your reading based on the number of “errors” accepted by the working group.

    What is your W3C Proofing Number? (Average number of accepted “errors” divided by the number of W3C drafts where “errors” were submitted.)

    October 2, 2014

    XSLT 3.0 Draft – Saxon 9.6

    Filed under: Saxon,XSLT — Patrick Durusau @ 7:24 pm

    I saw a tweet by Michael Kay announcing:

    XSL Transformations (XSLT) Version 3.0 – W3C Last Call Working Draft 2 October 2014,

    and,

    Saxon 9.6 released!

    Now that is a great Thursday!

    PS: Deadline for comments on the working draft is 26 November 2014.

    June 4, 2014

    Sharing key indexes

    Filed under: Saxon,XPath,XSLT — Patrick Durusau @ 7:15 pm

    Sharing key indexes by Michael Kay.

    From the post:

    For ever and a day, Saxon has tried to ensure that when several transformations are run using the same stylesheet and the same source document(s), any indexes built for those documents are reused across transformations. This has always required some careful juggling of Java weak references to ensure that the indexes are dropped from memory as soon as either the executable stylesheet or the source document are no longer needed.

    I’ve now spotted a flaw in this design. It wasn’t reported by a user, and it didn’t arise from a test case, it simply occurred to me as a theoretical possibility, and I have now written a test case that shows it actually happens. The flaw is this: if the definition of the key includes a reference to a global variable or a stylesheet parameter, then the content of the index depends on the values of global variables, and these are potentially different in different transformations using the same stylesheet.

    Michael discovers a very obscure bug entirely on his own and yet resolves to fix it.

    That is so unusual that I thought it merited mentioning.

    It should give you great confidence in Saxon.

    How that impacts your confidence on other software I cannot say.

    April 25, 2014

    7 First Public Working Drafts of XQuery and XPath 3.1

    Filed under: XML,XPath,XQuery,XSLT — Patrick Durusau @ 8:14 pm

    7 First Public Working Drafts of XQuery and XPath 3.1

    From the post:

    Today the XML Query Working Group and the XSLT Working Group have published seven First Public Working Drafts, four of which are jointly developed and three are from the XQuery Working Group.

    The joint documents are:

    • XML Path Language (XPath) 3.1. XPath is a powerful expression language that allows the processing of values conforming to the data model defined in the XQuery and XPath Data Model. The main features of XPath 3.1 are maps and arrays.
    • XPath and XQuery Functions and Operators 3.1. This specification defines a library of functions available for use in XPath, XQuery, XSLT and other languages.
    • XQuery and XPath Data Model 3.1. This specification defines the data model on which all operations of XPath 3.1, XQuery 3.1, and XSLT 3.1 operate.
    • XSLT and XQuery Serialization 3.1. This document defines serialization of an instance of the XQuery and XPath Data model Data Model into a sequence of octets, such as into XML, text, HTML, JSON.

    The three XML Query Working Group documents are:

    • XQuery 3.1 Requirements and Use Cases, which describes the reasons for producing XQuery 3.1, and gives examples.
    • XQuery 3.1: An XML Query Language. XQuery is a versatile query and application development language, capable of processing the information content of diverse data sources including structured and semi-structured documents, relational databases and tree-bases databases. The XQuery language is designed to support powerful optimizations and pre-compilation leading to very efficient searches over large amounts of data, including over so-called XML-native databases that read and write XML but have an efficient internal storage. The 3.1 version adds support for features such as arrays and maps primarily to facilitate processing of JSON and other structures.
    • XQueryX 3.1, which defines an XML syntax for XQuery 3.1.

    Learn more about the XML Activity.

    To show you how far behind I am on my reading, I haven’t even ordered Michael Kay‘s XSLT 3.0 and XPath 3.0 book and the W3C is already working on 3.1 for both. 😉

    I am hopeful that Michael will duplicate his success with XSLT 2.0 and XPath 2.0. This time though, I am going to get the Kindle edition. 😉

    March 18, 2014

    Balisage Papers Due 18 April 2014

    Filed under: Conferences,XML,XML Schema,XPath,XQuery,XSLT — Patrick Durusau @ 2:21 pm

    Unlike the rolling dates for Obamacare, Balisage Papers are due 18 April 2014. (That’s this year for health care wonks.)

    From the website:

    Balisage is an annual conference devoted to the theory and practice of descriptive markup and related technologies for structuring and managing information.

    Are you interested in open information, reusable documents, and vendor and application independence? Then you need descriptive markup, and Balisage is the conference you should attend. Balisage brings together document architects, librarians, archivists, computer scientists, XML wizards, XSLT and XQuery programmers, implementers of XSLT and XQuery engines and other markup-related software, Topic-Map enthusiasts, semantic-Web evangelists, standards developers, academics, industrial researchers, government and NGO staff, industrial developers, practitioners, consultants, and the world’s greatest concentration of markup theorists. Some participants are busy designing replacements for XML while other still use SGML (and know why they do). Discussion is open, candid, and unashamedly technical. Content-free marketing spiels are unwelcome and ineffective.

    I can summarize that for you:

    There are conferences on the latest IT buzz.

    There are conferences on last year’s IT buzz.

    Then there are conferences on information as power, which decides who will sup and who will serve.

    Balisage is about information as power. How you use it, well, that’s up to you.

    March 15, 2014

    Saxon/C

    Filed under: Saxon,XML,XQuery,XSLT — Patrick Durusau @ 9:41 pm

    Saxon/C by Michael Kay.

    From the webpage:

    Saxon/C is an alpha release of Saxon-HE on the C/C++ programming platform. APIs are offered currently to run XSLT 2.0 and XQuery 1.0 from C/C++ or PHP applications.

    BTW, Micheal’s Why XSLT and XQuery? page reports that Saxon is passing more than 25,000 tests for XQuery 3.0.

    If you are unfamiliar with either Saxon or Michael Kay, you need to change to a department that is using XML.

    January 14, 2014

    Balisage 2014: Near the Belly of the Beast

    Filed under: Conferences,HyTime,XML,XML Schema,XPath,XQuery,XSLT — Patrick Durusau @ 7:29 pm

    Balisage: The Markup Conference 2014 Bethesda North Marriott Hotel & Conference Center, just outside Washington, DC

    Key dates:
    – 28 March 2014 — Peer review applications due
    – 18 April 2014 — Paper submissions due
    – 18 April 2014 — Applications for student support awards due
    – 20 May 2014 — Speakers notified
    – 11 July 2014 — Final papers due
    – 4 August 2014 — Pre-conference Symposium
    – 5–8 August 2014 — Balisage: The Markup Conference

    From the call for participation:

    Balisage is the premier conference on the theory, practice, design, development, and application of markup. We solicit papers on any aspect of markup and its uses; topics include but are not limited to:

    • Cutting-edge applications of XML and related technologies
    • Integration of XML with other technologies (e.g., content management, XSLT, XQuery)
    • Performance issues in parsing, XML database retrieval, or XSLT processing
    • Development of angle-bracket-free user interfaces for non-technical users
    • Deployment of XML systems for enterprise data
    • Design and implementation of XML vocabularies
    • Case studies of the use of XML for publishing, interchange, or archving
    • Alternatives to XML
    • Expressive power and application adequacy of XSD, Relax NG, DTDs, Schematron, and other schema languages

    Detailed Call for Participation: http://balisage.net/Call4Participation.html
    About Balisage: http://balisage.net/Call4Participation.html
    Instructions for authors: http://balisage.net/authorinstructions.html

    For more information: info@balisage.net or +1 301 315 9631

    I checked, from the conference hotel you are anywhere from 25.6 to 27.9 miles by car from the NSA Visitor Center at Fort Meade.

    Take appropriate security measures.

    When I heard Balisage was going to be in Bethesda, the first song that came to mind was: Back in the U.S.S.R.. Followed quickly by Leonard Cohen’s Democracy Is Coming to the U.S.A..

    I don’t know where the equivalent of St. Catherine Street of Montreal is in Bethesda. But when I find out, you will be the first to know!

    Balisage is simply the best markup technology conference. (full stop) Start working on your manager now to get time to write a paper and to attend Balisage.

    When the time comes for “big data” to make sense, markup will be there to answer the call. You should be too.

    January 3, 2014

    xslt3testbed

    Filed under: XML,XPath,XSLT — Patrick Durusau @ 5:30 pm

    xslt3testbed

    From the post:

    Testbed for trying out XSLT 3.0 (http://www.w3.org/TR/xslt-30/) techniques.

    Since few people yet have much (or any) experience using XSLT 3.0 on more than toy examples, this is a public, medium-sized XSLT 3.0 project where people could try out new XSLT 3.0 features on the transformations to (X)HTML(5) and XSL-FO that are what we do most often and, along the way, maybe come up with new design patterns for doing transformations using the higher-order functions, partial function application, and other goodies that XSLT 3.0 gives us.

    If you haven’t been investigating XSLT 3.0 (and related specifications) you need to take corrective action.

    As an incentive, read Pearls Of XSLT And XPath 3.0 Design.

    If you thought XSLT was useful for data operations, you will be amazed by XSLT 3.0!

    December 13, 2013

    XSL TRANSFORMATIONS (XSLT) VERSION 3.0 [Last Call]

    Filed under: W3C,XSLT — Patrick Durusau @ 8:42 pm

    XSL TRANSFORMATIONS (XSLT) VERSION 3.0

    From the post:

    The XSLT Working Group has published today a Last Call Working Draft of XSL Transformations (XSLT) Version 3.0. This specification defines the syntax and semantics of XSLT 3.0, a language for transforming XML documents into other XML documents. A transformation in the XSLT language is expressed in the form of a stylesheet, whose syntax is well-formed XML. Comments are welcome by 10 February 2014. Learn more about the Extensible Markup Language (XML) Activity.

    One of the successful activities at the W3C.

    A fundamental part of your XML toolkit.

    November 23, 2013

    Frameless

    Filed under: Interface Research/Design,Javascript,SVG,XPath,XSLT — Patrick Durusau @ 2:39 pm

    Frameless

    From the webpage:

    Frameless is an XSLT 2 processor running in the browser, directly written in JavaScript. It includes an XPath 2 query engine for simple, powerful querying. It works cross-browser, we have even reached compatibility with IE6 and Firefox 1.

    With Frameless you’ll be able to do things the browsers won’t let you, such as using $variables and adding custom functions to XPath. What’s more, XPath 2 introduces if/else and for-loops. We’ll even let you use some XPath 3 functionality! Combine data into a string using the brand new string concatenation operator.

    Use way overdue math functions such as sin() and cos(), essential when generating data-powered SVG graphics. And use Frameless.select() to overcome the boundaries between XSLT and JavaScript.

    When to use Frameless?

    Frameless is created to simplify application development and is, due to its API, great for writing readable code.

    It will make application development a lot easier and it’s a good fit for all CRUD applications and applications with tricky DOM manipulation.

    Who will benefit by using it?

    • Designers and managers will be able to read the code and even fix some bugs.
    • Junior developers will get up to speed in no time and write code with a high level of abstraction, and they will be able to create prototypes that’ll be shippable.
    • Senior developers will be able to create complicated webapplications for all browsers and write them declaratively

    What it’s not

    Frameless doesn’t intend to fully replace functional DOM manipulation libraries like jQuery. If you like you can use such libraries and Frameless at the same time.

    Frameless doesn’t provide a solution for cross-browser differences in external CSS stylesheets. We add prefixes to some inline style attributes, but you should not write your styles inline only for this purpose. We do not intend to replace any CSS extension language, such as for example Sass.

    Frameless is very sparse on documentation but clearly the potential for browser-based applications is growing.

    I first saw this in a tweet by Michael Kay.

    October 22, 2013

    X* 3.0 Proposed Recommendations

    Filed under: XML,XPath,XQuery,XSLT — Patrick Durusau @ 8:01 pm

    XQuery 3.0, XPath 3.0, Data Model, Functions and Operators and XSLT and XQuery Serialization 3.0

    From the post:

    The XML Query Working Group and the XSLT Working Group have published five Proposed Recommendations today:

    Comments are welcome through 19 November. Learn more about the Extensible Markup Language (XML) Activity.

    What’s today? October 22nd?

    You almost have 30 days. 😉

    Which one or more are you going to read?

    I first saw this in a tweet by Jonathan Robie.

    October 11, 2013

    N1QL – It Makes Cents! [Rediscovery of Paths]

    Filed under: CouchDB,N1QL,XPath,XSLT — Patrick Durusau @ 11:39 am

    N1QL – It Makes Cents! by Robin Johnson.

    *Ba Dum Tschhh* …See what I did there? Makes cents? Get it? Haha.

    So… N1QL (pronounced Nickel)… Couchbase’s new next-generation query language; what is it? Well, it’s a rather genius designed, human readable / writable, extensible language designed for ad-hoc and operational querying within Couchbase. For those already familiar with querying within Couchbase, that blurb will probably make sense to you. If not – well, probably not, so let me clear it up a little more.

    But before I do that, I must inform you that this blog article isn’t the best place for you to go if you want to dive in and get started learning N1QL. It is a view into N1QL from a developer’s perspective including why I am so excited about it, and the features I am proud to point out. If you want to get started learning about N1QL, click here. Or alternatively, go and have a go of the Online Tutorial. Anyway, back to clearing up what I mean when I say N1QL…

    “N1QL is similar to the standard SQL language for relational databases, but also includes additional features; which are suited for document-oriented databases.” N1QL has been designed as an intuitive Query Language for use on databases structured around Documents instead of tables. To locate and utilise information in a document-oriented database, you need the correct logic and expressions for navigating documents and document structures. N1QL provides a clear, easy-to-understand abstraction layer to query and retrieve information in your document-database.

    Before we move on with N1QL, let’s talk quickly about document modeling within Couchbase. As you probably know; within Couchbase we model our documents primarily in JSON. We’re all familiar with JSON, so I won’t go into it in detail, but one thing we need to bear in mind is the fact that: our JSON documents can have complex nested data structures, nested arrays and objects which ordinarily would make querying a problem. Contrary to SQL though, N1QL has the ability to navigate nested data because it supports the concept of paths. This is very cool. We can use paths by using a dot-notation syntax to give us the logical location of an attribute within a document. For example; if we had an e-commerce site with documents containing customers’ orders, we could look inside those documents, to an Nth nested level for attributes. So if we wanted to look for the customer’s shipping street: (emphasis in original)

    Paths are “very cool,” but I thought that documents could already be navigated by paths?

    Remembering: XSL Transformations (XSLT) Version 2.0, XSLT 2.0 and XQuery 1.0 Serialization (Second Edition), and XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition).

    Yes?

    True, CouchDB uses JSON documents but the notion of paths in data structures isn’t news.

    Not having paths into data structures, now, that would be news. 😉

    May 28, 2013

    Four and Twenty < / > ! Baked in a Pie…

    Filed under: Conferences,XML,XML Database,XML Query Rewriting,XML Schema,XQuery,XSLT — Patrick Durusau @ 2:53 pm

    Balisage 2013 program is online!

    From Tommie Usdin’s email:

    Balisage is an annual conference devoted to the theory and practice of descriptive markup and related technologies for structuring and managing information. Participants typically include XML users, librarians, archivists, computer scientists, XSLT and XQuery programmers, implementers of XSLT and XQuery engines and other markup-related software, Topic-Map enthusiasts, semantic-Web evangelists, members of the working groups which define the specifications, academics, industrial researchers, representatives of governmental bodies and NGOs, industrial developers, practitioners, consultants, and the world’s greatest concentration of markup theorists. Discussion is open, candid, and unashamedly technical.

    Major features of this year’s program include several challenges to the fundamental infrastructure of XML; case studies from government, academia, and publishing; approaches to overlapping data structures; discussions of XML’s political fortunes; and technical papers on XML, XForms, XQuery, REST, XSLT, RDF, XSL-FO, XSD, the DOM, JSON, and XPath.

    Attending Balisage even once will keep you from repeating mistakes in language design.

    Attending Balisage twice will mark you as a markup expert.

    Attending Balisage three or more times, well, this is an open channel so we can’t go there.

    But you should go to Balisage!

    Send your pics from Saint Catherine Street!

    March 17, 2013

    XMLQuire Web Edition

    Filed under: HTML5,Saxon,XML,XSLT — Patrick Durusau @ 5:50 am

    XMLQuire Web Edition: A Free XSLT 2.0 Editor for the Web

    From the webpage:

    XSLT 2.0 processing within the browser is now a reality with the introduction of the open source Saxon-CE from Saxonica. This processor runs as a JavaScript app and supports JavaScript interoperability and user-event handling for the era of HTML5 and the dynamic web.

    This Windows product, XMLQuire, is an XSLT edtior specially extended to integrate with Saxon-CE and support the Saxon-CE language extensions that make interactive XSLT possible. Saxon-CE is not included with this product, but is available from Saxonica here.

    *nix folks will have to install Windows 7 or 8 on a VM to take advantage of this software.

    Worth the effort if for no other reason than to see how the market majority lives. 😉

    I first saw this in a tweet by Michael Kay.

    March 16, 2013

    Lux

    Filed under: Lucene,Saxon,Solr,XQuery,XSLT — Patrick Durusau @ 7:51 pm

    Lux

    From the readme:

    Lux is an open source XML search engine formed by fusing two excellent technologies: the Apache Lucene/Solr search index and the Saxon XQuery/XSLT processor.

    At its core, Lux provides XML-aware indexing, an XQuery 1.0 optimizer that rewrites queries to use the indexes, and a function library for interacting with Lucene via XQuery. These capabilities are tightly integrated with Solr, and leverage its application framework in order to deliver a REST service and application server.

    The REST service is accessible to applications written in almost any language, but it will be especially convenient for developers already using Solr, for whom Lux operates as a Solr plugin that provides query services using the same REST APIs as other Solr search plugins, but using a different query language (XQuery). XML documents may be inserted (and updated) using standard Solr REST calls: XML-aware indexing is triggered by the presence of an XML-aware field in a document. This means that existing application frameworks written in many different languages are positioned to use Lux as a drop-in capability for indexing and querying semi-structured content.

    The application server is a great way to get started with Lux: it provides the ability to write a complete application in XQuery and XSLT with data storage backed by Lucene.

    If you are looking for experience with XQuery and Lucene/Solr, look no further!

    May be a good excuse for me to look at defining equivalence statements using XQuery.

    I first saw this in a tweet by Michael Kay.

    February 19, 2013

    “…XML User Interfaces” As in Using XML?

    Filed under: Conferences,Interface Research/Design,XML,XML Schema,XPath,XQuery,XSLT — Patrick Durusau @ 1:00 pm

    International Symposium on Native XML user interfaces

    This came across the wire this morning and I need your help interpreting it.

    Why would you want to have an interface to XML?

    All these years I have been writing XML in Emacs because XML wasn’t supposed to have an interface.

    Brave hearts, male, female and unknown, struggling with issues too obscure for mere mortals.

    Now I find that isn’t supposed to be so? You can imagine my reaction.

    I moved my laptop a bit closer to the peat fire to make sure I read it properly. Waiting for the ox cart later this week to take my complaint to the local bishop about this disturbing innovation.

    😉

    15 March 2013 — Peer review applications due
    19 April 2013 — Paper submissions due
    19 April 2013 — Applications due for student support awards due
    21 May 2013 — Speakers notified
    12 July 2013 — Final papers due
    5 August 2013 — International Symposium on Native XML user interfaces
    6–9 August 2013 — Balisage: The Markup Conference

    International Symposium on
    Native XML user interfaces

    Monday August 5, 2013 Hotel Europa, Montréal, Canada

    XML is everywhere. It is created, gathered, manipulated, queried, browsed, read, and modified. XML systems need user interfaces to do all of these things. How can we make user interfaces for XML that are powerful, simple to use, quick to develop, and easy to maintain?

    How are we building user interfaces today? How can we build them tomorrow? Are we using XML to drive our user interfaces? How?

    This one-day symposium is devoted to the theory and practice of user interfaces for XML: the current state of implementations, practical case studies, challenges for users, and the outlook for the future development of the technology.

    Relevant topics include:

    • Editors customized for specific purposes or users
    • User interfaces for creation, management, and use of XML documents
    • Uses of XForms
    • Making tools for creation of XML textual documents
    • Using general-purpose user-interface libraries to build XML interfaces
    • Looking at XML, especially looking at masses of XML documents
    • XML, XSLT, and XQuery in the browser
    • Specialized user interfaces for specialized tasks
    • XML vocabularies for user-interface specification

    Presentations can take a variety of forms, including technical papers, case studies, and tool demonstrations (technical overviews, not product pitches).

    This is the same conference I wrote about in: Markup Olympics (Balisage) [No Drug Testing].

    In times of lean funding for conferences, if you go to a conference this year, it really should be Balisage.

    You will be the envy of your co-workers and have tales to tell your grandchildren.

    Not bad for one conference registration fee.

    January 10, 2013

    Markup Olympics (Balisage) [No Drug Testing]

    Filed under: Conferences,XML,XML Database,XML Schema,XPath,XQuery,XSLT — Patrick Durusau @ 1:46 pm

    Markup athletes take heart! Unlike venues that intrude into the personal lives of competitors, there are no, repeat no drug tests for presenters at Balisage!

    Fear no trainer betrayals or years of being dogged by second-raters in the press.

    Eat, drink, visit, ???, present, in the company of your peers.

    The more traditional call for participation, yawn, has the following details:

    Dates:

    15 March 2013 – Peer review applications due
    19 April 2013 – Paper submissions due
    19 April 2013 – Applications due for student support awards due
    21 May 2013 – Speakers notified
    12 July 2013 – Final papers due

    5 August 2013 – Pre-conference Symposium on XForms
    6-9 August 2013 – Balisage: The Markup Conference

    From the call:

    Balisage is where people interested in descriptive markup meet each year in August for informed technical discussion, occasionally impassioned debate, good coffee, and the incomparable ambience of one of North America’s greatest cities, Montreal. We welcome anyone interested in discussing the use of descriptive markup to build strong, lasting information systems.

    Practitioner or theorist, tool-builder or tool-user, student or lecturer — you are invited to submit a paper proposal for Balisage 2013. As always, papers at Balisage can address any aspect of the use of markup and markup languages to represent information and build information systems. Possible topics include but are not limited to:

    • XML and related technologies
    • Non-XML markup languages
    • Big Data and XML
    • Implementation experience with XML parsing, XSLT processors, XQuery processors, XML databases, XProc integrations, or any markup-related technology
    • Semantics, overlap, and other complex fundamental issues for markup languages
    • Case studies of markup design and deployment
    • Quality of information in markup systems
    • JSON and XML
    • Efficiency of Markup Software
    • Markup systems in and for the mobile web
    • The future of XML and of descriptive markup in general
    • Interesting applications of markup

    In addition, please consider becoming a Peer Reviewer. Reviewers play a critical role towards the success of Balisage. They review blind submissions — on topics that interest them — for technical merit, interest, and applicability. Your comments and recommendations can assist the Conference Committee in creating the program for Balisage 2013!

    How:

    More IQ per square foot than any other conference you will attend in 2013!

    November 20, 2012

    Balisage 2013 – Dates/Location

    Filed under: Conferences,XML,XML Database,XML Query Rewriting,XML Schema,XPath,XQuery,XSLT,XTM — Patrick Durusau @ 3:19 pm

    Tommie Usdin just posted email with the Balisage 2013 dates and location:

    Montreal, Hotel Europa, August 5 – 9 , 2013

    Hope that works with everything else.

    That’s the entire email so I don’t know what was meant by:

    Hope that works with everything else.

    Short of it being your own funeral, open-heart surgery or giving birth (to your first child), I am not sure what “everything else” there could be?

    You get a temporary excuse for the second two cases and a permanent excuse for the first one.

    Now’s a good time to hint about plane fare plus hotel and expenses for Balisage as a stocking stuffer.

    And to wish a happy holiday Tommie Usdin and to all the folks at Mulberry Technology who make Balisage possible all of us. Each and every one.

    August 4, 2012

    Using the flickr XML/API as a source of RSS feeds

    Filed under: Data,XML,XSLT — Patrick Durusau @ 2:07 pm

    Using the flickr XML/API as a source of RSS feeds by Pierre Lindenbaum.

    Pierre has created an XSLT stylesheet to transform XML from flickr into an RSS feed.

    Something for your data harvesting recipe box.

    June 1, 2012

    Are You Going to Balisage?

    Filed under: Conferences,RDF,RDFa,Semantic Web,XML,XML Database,XML Schema,XPath,XQuery,XSLT — Patrick Durusau @ 2:48 pm

    To the tune of “Are You Going to Scarborough Fair:”

    Are you going to Balisage?
    Parsley, sage, rosemary and thyme.
    Remember me to one who is there,
    she once was a true love of mine.

    Tell her to make me an XML shirt,
    Parsley, sage, rosemary, and thyme;
    Without any seam or binary code,
    Then she shall be a true lover of mine.

    ….

    Oh, sorry! There you will see:

    • higher-order functions in XSLT
    • Schematron to enforce consistency constraints
    • relation of the XML stack (the XDM data model) to JSON
    • integrating JSON support into XDM-based technologies like XPath, XQuery, and XSLT
    • XML and non-XML syntaxes for programming languages and documents
    • type introspection in XQuery
    • using XML to control processing in a document management system
    • standardizing use of XQuery to support RESTful web interfaces
    • RDF to record relations among TEI documents
    • high-performance knowledge management system using an XML database
    • a corpus of overlap samples
    • an XSLT pipeline to translate non-XML markup for overlap into XML
    • comparative entropy of various representations of XML
    • interoperability of XML in web browsers
    • XSLT extension functions to validate OCL constraints in UML models
    • ontological analysis of documents
    • statistical methods for exploring large collections of XML data

    Balisage is an annual conference devoted to the theory and practice of descriptive markup and related technologies for structuring and managing information. Participants typically include XML users, librarians, archivists, computer scientists, XSLT and XQuery programmers, implementers of XSLT and XQuery engines and other markup-related software, Topic-Map enthusiasts, semantic-Web evangelists, members of the working groups which define the specifications, academics, industrial researchers, representatives of governmental bodies and NGOs, industrial developers, practitioners, consultants, and the world’s greatest concentration of markup theorists. Discussion is open, candid, and unashamedly technical.

    The Balisage 2012 Program is now available at: http://www.balisage.net/2012/Program.html

    May 29, 2012

    Destination: Montreal!

    If you remember the Saturday afternoon sci-fi movies, Destination: …., then you will appreciate the title for this post. 😉

    Tommie Usdin and company just posted: Balisage 2012 Call for Late-breaking News, written in torn bodice style:

    The peer-reviewed part of the Balisage 2012 program has been scheduled (and will be announced in a few days). A few slots on the Balisage program have been reserved for presentation of “Late-breaking” material.

    Proposals for late-breaking slots must be received by June 15, 2012. Selection of late-breaking proposals will be made by the Balisage conference committee, instead of being made in the course of the regular peer-review process.

    If you have a presentation that should be part of Balisage, please send a proposal message as plain-text email to info@balisage.net.

    In order to be considered for inclusion in the final program, your proposal message must supply the following information:

    • The name(s) and affiliations of all author(s)/speaker(s)
    • The email address of the presenter
    • The title of the presentation
    • An abstract of 100-150 words, suitable for immediate distribution
    • Disclosure of when and where, if some part of this material has already been presented or published
    • An indication as to whether the presenter is comfortable giving a conference presentation and answering questions in English about the material to be presented
    • Your assurance that all authors are willing and able to sign the Balisage Non-exclusive Publication Agreement (http://www.balisage.net/BalisagePublicationAgreement.pdf) with respect to the proposed presentation

    In order to be in serious contention for inclusion in the final program, your proposal should probably be either a) really late-breaking (it happened in the last month or two) or b) a paper, an extended paper proposal, or a very long abstract with references. Late-breaking slots are few and the competition is fiercer than for peer-reviewed papers. The more we know about your proposal, the better we can appreciate the quality of your submission.

    Please feel encouraged to provide any other information that could aid the conference committee as it considers your proposal, such as a detailed outline, samples, code, and/or graphics. We expect to receive far more proposals than we can accept, so it’s important that you send enough information to make your proposal convincing and exciting. (This material may be attached to the email message, if appropriate.)

    The conference committee reserves the right to make editorial changes in your abstract and/or title for the conference program and publicity. (emphasis added to last sentence)

    Read that last sentence again!

    The conference committee reserves the right to make editorial changes in your abstract and/or title for the conference program and publicity.

    The conference committee might change your abstract and/or title to say something …. controversial? ….attention getting? ….CNN / Slashdot worthy?

    Bring it on!

    Submit late breaking proposals!

    Please!

    February 14, 2012

    Would You Know “Good” XML If It Bit You?

    Filed under: Uncategorized,XML,XML Schema,XPath,XQuery,XSLT — Patrick Durusau @ 5:16 pm

    XML is a pale imitation of a markup language. It has resulted in real horrors across the markup landscape. After years in its service, I don’t have much hope of that changing.

    But, the Princess of the Northern Marches has organized a war council to consider how to stem the tide of bad XML. Despite my personal misgivings, I wish them well and invite you to participate as you see fit.

    Oh, and I found this message about the council meeting:

    International Symposium on Quality Assurance and Quality Control in XML

    Monday August 6, 2012
    Hotel Europa, Montréal, Canada

    Paper submissions due April 20, 2012.

    A one-day discussion of issues relating to Quality Control and Quality Assurance in the XML environment.

    XML systems and software are complex and constantly changing. XML documents are highly varied, may be large or small, and often have complex life-cycles. In this challenging environment quality is difficult to define, measure, or control, yet the justifications for using XML often include promises or implications relating to quality.

    We invite papers on all aspects of quality with respect to XML systems, including but not limited to:

    • Defining, measuring, testing, improving, and documenting quality
    • Quality in documents, document models, software, transformations, or queries
    • Case studies in the control of quality in an XML environment
    • Theoretical or practical approaches to measuring quality in XML
    • Does the presence of XML, XML schemas, and XML tools make quality checking easier, harder, or even different from other computing environments
    • Should XML transforms and schemas be QAed as software? Or configuration files? Or documents? Does it matter?

    Paper submissions due April 20, 2012.

    Details at: http://www.balisage.net/QA-QC/

    You do have to understand the semantics of even imitation markup languages before mapping them with more robust languages. Enjoy!

    February 12, 2012

    XML Prague 2012 (proceedings)

    Filed under: Conferences,XML,XML Schema,XPath,XQuery,XSLT — Patrick Durusau @ 5:11 pm

    XML Prague 2012 (proceedings) (PDF)

    Fourteen papers by the leading lights in the XML world covering everything from XProc and XQuery to NVDL and JSONiq, and places in between.

    Put it on your XML reading list.

    July 1, 2011

    Balisage 2011 – Final Program

    Filed under: Conferences,XPath,XSLT — Patrick Durusau @ 2:58 pm

    A recent post from Tommie Usdin announce the following additions to the Balisage 2011 program:

    • XQuery and SparQL
    • XQuery and XSLT
    • the Logical Form of a Metadata Record
    • Why is XML a pain to produce?
    • XML Serialization of C# and Java Objects
    • testing XSLT in continuous integration
    • dealing with markup without using words
    • REST for document resource nodes
    • tagging journal article supplemental materials
    • using 15 year old SGML documents in current software

    and then goes on to talk about why markup geeks should be at Balisage.

    I’ll make that shorter:

    If you see either < or > at work or anyone talks about them, you need to be at Balisage 2011.

    If you are not a markup geek, you will be one by the time you leave. Road to Damascus sort of experience. Or you will decide to move to San Francisco. Either way, what do you have to lose?

    August 2-5, 2011, Montreal, Canada Time is running out!

    « Newer PostsOlder Posts »

    Powered by WordPress