edd: Sam Ruby, IBM.
edd: An overview of Atom, starting from the point of view of what was broken with RSS.
edd: Atom Wiki
edd: An overview of Atom, starting from the point of view of what was broken with RSS.
edd: Atom Wiki
eric: Not that many people seem to want to convert their DTD Developers to RELAX NG: the room isn't very full!
eric: Debbie Lapeyre entering the room... Will she be converted?
eric: Conversion tools exist, but complex DTDs turn into complex schemas and who knows what will happen with giant DTDs?
eric: Bob DuCharme complaining about the verbosity of XML syntaxes for schema languages and praising RELAX NG compact syntax.
eric: As a strategy for converting DTDs to RNG, Bob DuCharme suggests to convert them through trang and redefine, step by step, what you don't like including what has been generated by trang in your RNG schema.
eric: That lets you add new constraints step by step.
eric: Now showing co-occurrence constraints.
eric: Hmmm... I guess that under this strategy, there is the assumption that the DTD can still evolve! In that context, that's clever.
eric: What about W3C XML Schema? Despite his attempt, Bob DuCharme hasn't been able to do the same with WXS.
eric: Part of the issue is that conversion programs are not that efficient with translated DTDs into WXS, part that the redefine is not flexible enough. You would thus have to do double (parallel) editing.
eric: Also WXS doesn't support co-occurrence constraints.
eric: Users should let tool providers (XML editors to start with) know that they need RELAX NG support.
eric: Debbie Lapeyre entering the room... Will she be converted?
eric: Conversion tools exist, but complex DTDs turn into complex schemas and who knows what will happen with giant DTDs?
eric: Bob DuCharme complaining about the verbosity of XML syntaxes for schema languages and praising RELAX NG compact syntax.
eric: As a strategy for converting DTDs to RNG, Bob DuCharme suggests to convert them through trang and redefine, step by step, what you don't like including what has been generated by trang in your RNG schema.
eric: That lets you add new constraints step by step.
eric: Now showing co-occurrence constraints.
eric: Hmmm... I guess that under this strategy, there is the assumption that the DTD can still evolve! In that context, that's clever.
eric: What about W3C XML Schema? Despite his attempt, Bob DuCharme hasn't been able to do the same with WXS.
eric: Part of the issue is that conversion programs are not that efficient with translated DTDs into WXS, part that the redefine is not flexible enough. You would thus have to do double (parallel) editing.
eric: Also WXS doesn't support co-occurrence constraints.
eric: Users should let tool providers (XML editors to start with) know that they need RELAX NG support.
eric: OO was already in SGML through Architectural Forms and is in W3C XML Schema from the beginning.
eric: But the OO from WXS is not available from SAX/DOM/XSLT.
eric: Goal of the presentation: see how we could get more OO with minor exhancements of these technologies.
eric: In his examples, Fuchs doesn't seem to have noticed French people were now using Euros instead of Francs!
eric: The PSVI "contains oodles of reflective information about the schema" but "polymorphic applications generally don't require significant reflection".
eric: Suggests adding xsi:subGroup, xsi:derivation and xsi:attDeriv attributes to carry the limited amount of reflection needed by applications.
eric: Then they can be used in XPath expressions such as "*[contains(@xsi:derivation, 'foo:bar')]"
eric: Reminds me a TAG request and xml-dev threads...
eric: Xerces can be hacked to support this proposal.
eric: Conclusion: polymorphism (with appropriate patterns) is a viable addition to XSLT.
eric: But the OO from WXS is not available from SAX/DOM/XSLT.
eric: Goal of the presentation: see how we could get more OO with minor exhancements of these technologies.
eric: In his examples, Fuchs doesn't seem to have noticed French people were now using Euros instead of Francs!
eric: The PSVI "contains oodles of reflective information about the schema" but "polymorphic applications generally don't require significant reflection".
eric: Suggests adding xsi:subGroup, xsi:derivation and xsi:attDeriv attributes to carry the limited amount of reflection needed by applications.
eric: Then they can be used in XPath expressions such as "*[contains(@xsi:derivation, 'foo:bar')]"
eric: Reminds me a TAG request and xml-dev threads...
eric: Xerces can be hacked to support this proposal.
eric: Conclusion: polymorphism (with appropriate patterns) is a viable addition to XSLT.
darobin: SVG Demo of Rendering Custom Components, by Antoine Quint, requires Adobe SVG Viewer 6
darobin: this is just a simple example of how to do UI cleanly in SVG 1.2
darobin: this is just a simple example of how to do UI cleanly in SVG 1.2
eric: Erik Meijer presents himself as an Haskell developer who has infiltrated the C# community.
eric: Erik Meijer's law: "any suficient used API or common pattern should evolve into a language feature."
eric: Example: foreach in C#.
eric: 3 areas are ready for this type of promotion: data access (RDBMS & XML), asynchronous concurrency & security.
eric: Erik Meijer showing a simple example showing "how bad it is" to use an API for XML access.
eric: Data binding is just impossible because "the impedance mismatch [between XML and objects] is too big".
eric: Even if data binding was possible, XPath expressions would still be replaced by loops and that's bad.
eric: Erik Meijer showing more examples showing the impedance mismatch.
eric: Not only between XML and objects but also between WXS and objects.
eric: I am really upset to see the assimilation done by so many people between XML and W3C XML Schema.
eric: To fix that, we need to add XML objects to programming languages.
eric: Erik Meijer showing a "stream" datatype that can be used to work with XML.
eric: Erik Meijer proposing to add sequences, choice, occurrence operators, ... to programming languages. That makes C# look like the RNG compact syntax!
eric: Now introducing XML literals that make C# look like XQuery.
eric: And pseudo XPath expressions where "/" is replaced by "." (hello.Header.*).
eric: I wonder how dots in element names would be handled...
Gardner: Escape the dots? Bleah.
eric: Now demo type (prototype in MS Visual Studio).
eric: Manipulating "rect" and "circle" elements directly in the language.
eric: James Clark: "it's quite amazing, I am still speechless. How does that work with schema languages?"
eric: Erik Meijer: it's possible to import a W3C XML Schema.
eric: And now a SVG demo!
eric: They are figuring out with "the [Microsoft] Cambridge guys" to see how this can be distributed.
eric: The type system is different from XQuery, but otherwise it's like XQuery in the context of C#.
Gardner: Escaping, I knew it.
eric: Erik Meijer's law: "any suficient used API or common pattern should evolve into a language feature."
eric: Example: foreach in C#.
eric: 3 areas are ready for this type of promotion: data access (RDBMS & XML), asynchronous concurrency & security.
eric: Erik Meijer showing a simple example showing "how bad it is" to use an API for XML access.
eric: Data binding is just impossible because "the impedance mismatch [between XML and objects] is too big".
eric: Even if data binding was possible, XPath expressions would still be replaced by loops and that's bad.
eric: Erik Meijer showing more examples showing the impedance mismatch.
eric: Not only between XML and objects but also between WXS and objects.
eric: I am really upset to see the assimilation done by so many people between XML and W3C XML Schema.
eric: To fix that, we need to add XML objects to programming languages.
eric: Erik Meijer showing a "stream" datatype that can be used to work with XML.
eric: Erik Meijer proposing to add sequences, choice, occurrence operators, ... to programming languages. That makes C# look like the RNG compact syntax!
eric: Now introducing XML literals that make C# look like XQuery.
eric: And pseudo XPath expressions where "/" is replaced by "." (hello.Header.*).
eric: I wonder how dots in element names would be handled...
Gardner: Escape the dots? Bleah.
eric: Now demo type (prototype in MS Visual Studio).
eric: Manipulating "rect" and "circle" elements directly in the language.
eric: James Clark: "it's quite amazing, I am still speechless. How does that work with schema languages?"
eric: Erik Meijer: it's possible to import a W3C XML Schema.
eric: And now a SVG demo!
eric: They are figuring out with "the [Microsoft] Cambridge guys" to see how this can be distributed.
eric: The type system is different from XQuery, but otherwise it's like XQuery in the context of C#.
Gardner: Escaping, I knew it.
mdubinko: Uche Ogbuji, Fourthought, Inc.
mdubinko: Why Python? Unicode, "batteries included" for text processing; Internet, "dictionaries rule", generators/iterators, core XML built-ins
mdubinko: included libraries-- xmllib (not recommended), xml.parsers.expat, xml.sax, xml.dom, xml.dom.pulldom
mdubinko: SAX example code, pretty straightforward but requires state management, and betrays non-Python roots
mdubinko: DOM level 2 mostly covered by several implementations including: pxdom (recommended), minidom
mdubinko: PullDOM: for (event,node) in events: ...
mdubinko: PullDOM has ease of use more in theory than practice
mdubinko: XmlTextReader while reader.Read(): ...
mdubinko: ElementTree, a Pythonic way
mdubinko: gnosis.xml.objectify, uses class registration to fine-tune Python binding
mdubinko: Anobind, Uche's own data binding print binding.verse.line[2].text_content()
mdubinko: Why Python? Unicode, "batteries included" for text processing; Internet, "dictionaries rule", generators/iterators, core XML built-ins
mdubinko: included libraries-- xmllib (not recommended), xml.parsers.expat, xml.sax, xml.dom, xml.dom.pulldom
mdubinko: SAX example code, pretty straightforward but requires state management, and betrays non-Python roots
mdubinko: DOM level 2 mostly covered by several implementations including: pxdom (recommended), minidom
mdubinko: PullDOM: for (event,node) in events: ...
mdubinko: PullDOM has ease of use more in theory than practice
mdubinko: XmlTextReader while reader.Read(): ...
mdubinko: ElementTree, a Pythonic way
mdubinko: gnosis.xml.objectify, uses class registration to fine-tune Python binding
mdubinko: Anobind, Uche's own data binding print binding.verse.line[2].text_content()
eric: XML usually involve little to no design phase.
eric: A conceptual model is needed.
eric: Designs are typically network structured, XML representation is hierarchical.
eric: Existing modeling models: ER, UML, hierarchical models, ...
eric: There are many things in UML that are not needed for XML. Arijit Sengupta proposes to rather extend ER to work with XML.
eric: XER (pronounce "cher") is based on the ER model, includes visual constructs for all basic XML (and W3C XML Schema) nuances and is backward compatible to DTDs.
eric: Beware of the terminology clash (entities, attributes are not the same thing for ER & XML).
eric: While Arijit Sengupta describes more of the details of XER, I don't see how this is different from what you'd be doing in UML (except that XER has no tool support).
eric: The principle seems to be very similar to "classical" approaches to modeling XML in UML (see for instance the UML section of my RELAX NG book).
eric: DTDs and WXS schemas can be converted to XER almost automatically.
eric: A proof of concept has been implemented using Microsoft Visio.
eric: A conceptual model is needed.
eric: Designs are typically network structured, XML representation is hierarchical.
eric: Existing modeling models: ER, UML, hierarchical models, ...
eric: There are many things in UML that are not needed for XML. Arijit Sengupta proposes to rather extend ER to work with XML.
eric: XER (pronounce "cher") is based on the ER model, includes visual constructs for all basic XML (and W3C XML Schema) nuances and is backward compatible to DTDs.
eric: Beware of the terminology clash (entities, attributes are not the same thing for ER & XML).
eric: While Arijit Sengupta describes more of the details of XER, I don't see how this is different from what you'd be doing in UML (except that XER has no tool support).
eric: The principle seems to be very similar to "classical" approaches to modeling XML in UML (see for instance the UML section of my RELAX NG book).
eric: DTDs and WXS schemas can be converted to XER almost automatically.
eric: A proof of concept has been implemented using Microsoft Visio.
edd: Presenting: Norm Walsh, Dan Connolly, Dan Brickley, Edd Dumbill
edd: DanCon shows RDF based tools they use to keep track of technical reports at W3C.
edd: Dan Brickley talking about RDF hyperlinking using rdf:seeAlso
evlist: Edd Dumbill exploring RDF for data aggregation.
danbri: My slides are online. DanC presented from these slides by Dom. Edd's are on my laptop, doubtless will be shared here later.
edd: My slides
edd: DanCon shows RDF based tools they use to keep track of technical reports at W3C.
edd: Dan Brickley talking about RDF hyperlinking using rdf:seeAlso
evlist: Edd Dumbill exploring RDF for data aggregation.
danbri: My slides are online. DanC presented from these slides by Dom. Edd's are on my laptop, doubtless will be shared here later.
edd: My slides