惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
M
MIT News - Artificial intelligence
Engineering at Meta
Engineering at Meta
云风的 BLOG
云风的 BLOG
博客园 - 叶小钗
Jina AI
Jina AI
Last Week in AI
Last Week in AI
The Cloudflare Blog
博客园 - 【当耐特】
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
博客园_首页
I
InfoQ
G
Google Developers Blog
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
H
Help Net Security
U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog

Secret Weblog

Becoming More Xee: A Modern XPath and XSLT Engine in Rust Looking for new challenges! Repeat Yourself, A Bit The Curious Case of Quentell The Humble For Loop in Rust The Humble For Loop in JavaScript Don Question Best Practices I Was a 1980s Teenage Programmer Part 5: Achieving Assembly I Was a 1980s Teenage Programmer Part 4: The Call of Assembly The Tooling Shift I Was a 1980s Teenage Programmer Part 3: MSX-2 JavaScript: when you need two ways to do it! Empowering Programming Languages Bloat and Retrofuturism Refreshing my Blog Again Random Rust Impressions Apilar: An Alife System I Was a 1980s Teenage Programmer Part 2: Olivetti M24 I Was a 1980s Teenage Programmer: the Alphatronic SolidJS fits my brain Is premature optimization the root of all evil? Framework Patterns: JavaScript edition Roll Your Own Frameworks Framework Patterns Secret Weblog Highlights Refactoring to Multiple Exit Points mstform: a form library for mobx-state-tree Seven Years: A Very Personal History of the Web
Silva Flexible XML released
Martijn Faassen · 2005-05-02 · via Secret Weblog

I'm happy to have released today a new Silva extension, Silva Flexible XML. Silva Flexible XML combines a lot of the interests and themes of my technical life in a single package. It's an extension to the Silva CMS that allows the user to create and manage XML content. The important part is XML standards support: the XML content can be configured to be checked by a Relax NG schema or transformed to XHTML using a particular XSLT stylesheet.

Silva Flexible XML builds on a lot of other things. It integrates with Silva, the CMS I helped build. It extensible using Five, the Zope 3 integration layer for Zope 2 that I helped create. Through lxml, a Python-binding I created (I hope soon I'll be able to say "helped create" too for it) it makes use of the powerful XSLT and Relax NG facilities of libxml2 and libxslt.

Silva Flexible XML is not finished yet; it needs better XML error reporting for instance, which will need some work in the lxml layer. Infrae is putting Silva Flexible XML out there now in the hope that someone likes the concepts and wants to help us (by work or funding) to develop this further.

The amount of XML technology exposed by it, and the way you can easily integrate your own, is in my opinion quite impressive. We haven't seen anything like it in other Zope-based CMSes. What's interesting about this is that it does not by a thick layer of Silva-specific code, but mostly by leveraging Five and lxml, general libraries which have nothing to do with Silva, and in the case of lxml, nothing to do even with Zope. That is, we're not building much that is very Silva or even Zope 2 specific.

The release of Silva Flexible XML is therefore also a message about something else I helped build: Infrae. If you need one or more of the following:

  • content management/document management expertise
  • XML expertise
  • Python expertise
  • Zope expertise (Zope 2, Zope 3, and Zope 2 + Zope 3)

..then Infrae wouldn't be a bad place to start looking. We'll throw in client-side development ("Ajax") skills too; we had more than a little to do with Kupu. We're innovators, head in the sky but our feet firmly on the ground: we know to leverage existing standards and software where possible, but also know how to build new stuff where needed. I'm quite proud of Infrae, both the team and the software we created. We'd love to build more so don't hestitate to contact us!