15:49:25 RRSAgent has joined #xsd-user 15:49:25 logging to http://www.w3.org/2005/06/21-xsd-user-irc 15:50:00 scribes: chris, philippe, john c, david e, eric, alex, umit 15:50:01 Meeting: XML Schema 1.0 workshop user experiences 15:50:10 s/eric/erik/ 15:50:27 Topic: introduction 15:50:34 Marsh has joined #xsd-user 15:50:40 Agenda: http://www.w3.org/2005/03/xml-schema-user-program.html 15:50:43 msm: goes over process document introducing concept of w3c workshops 15:50:56 Zakim has joined #xsd-user 15:51:12 holstege has joined #xsd-user 15:51:25 msm: function of workshop to advise membership and staff as to what the w3c should be doing 15:51:37 msm: purpose - gather user experience 15:51:57 msm: examine problems around xsd spec and test suite 15:52:18 dezell has joined #xsd-user 15:52:19 uyalcina has joined #xsd-user 15:52:37 msm: examine proposed ways forward 15:52:50 Introduction slides -> http://whatfettle.com/2005/06/Introduction/slides.html 15:52:51 msm: guage interest in further work in xsd 15:53:08 msm: recommend course of action 15:54:07 pauld: slots for each preso, 15 mins followed by 5 mins discussion 15:54:18 pauld: keep record of issues raised 15:55:10 pauld: at end of day, we'll spend an hour discussing what topics to discuss tomorrow 15:58:34 kohsuke has joined #xsd-user 15:58:49 plh: requests people send him their slides 15:58:58 preferably before your talk! 15:59:22 jonathan marsh -- microsoft 15:59:33 pretty picture of an orchid 16:00:11 jmarsh: wsdl overview 16:01:23 web service is a simple concept... send some data to a service, it does work for you 16:01:49 what goes on the wire is data, typically xml in a message format 16:02:09 would describe that message using a schema language, typically xml schema 16:02:22 schema should be sufficient to describe the message 16:02:34 wsdl relies heavily on xml schema 16:02:46 response message also described in xml schema 16:03:01 wsdl is essentially a wrapper for schema 16:03:27 request and response messages are related in what is called a message exchange pattern (MEP) 16:03:46 wsdl introduces a higher level concept of a group of related operations called an interface 16:03:55 derekdb has joined #xsd-user 16:04:17 have concept of binding 16:04:49 soap envelope itself is not described in a monolithic schema 16:05:04 wsdl uses the schema to describe the payload 16:05:18 heidib has joined #xsd-user 16:05:54 Allen has joined #xsd-user 16:06:16 wsdl is very similar to xml schema 16:06:21 has component model 16:06:26 has import and include 16:06:41 qname references 16:06:51 component designators 16:07:32 jmarsh: also some blurred lines of responsibility 16:07:45 wsdl-defined schema extensions 16:07:47 versioning 16:08:09 describing base64binary for describing binary data such as a jpeg 16:08:56 wsdl wg developed an annotation that can be added to schema components to specify the mimetype of binary content 16:09:32 describing references 16:11:04 wsa:EndpointReference... provides address and other metadata about an endpoint 16:12:01 created schema annotation: wsdlx:interface that can be added to schema component to indicate the interface of an endpoint reference 16:12:05 versioning 16:12:39 wsdl wg has one remaining open issue... versioning 16:13:14 known problems with wildcard and upa, etc 16:13:27 some proposals have been made 16:14:04 noah: upa means you know what value is valid but which schema component makes it so 16:14:29 Unique Particle Attribution (UPA) -> http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#cos-nonambig 16:14:53 Analysis of the Unique Particle Attribution Constraint -> http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#non-ambig 16:16:30 jmarsh: henry came up with algorithm: "validate twice" 16:18:54 http://www.markup.co.uk/XMLEu2004/ 16:19:58 erik johnson - representing ws-i.org 16:21:07 lots of complaints from users in web services community regarding use of xml schema 16:21:49 not a lot of support for creating a profile of xml schema (subset of features) because you could end up profiling away important things for various domains 16:22:29 Demo and web form for try-it-yourself validate-twice pipeline are linked from http://www.markup.co.uk/showcase/ 16:23:40 upa rule not well understood and certain tools actually intentionally ignore it 16:24:13 easy to dig yourself into a hole designing extensibility models if you aren't an expert 16:24:27 no one really agrees on the correct way to do this 16:25:47 because modularity mechanisms are not explicit, difficult to recognize this if you are downstream of the original author of a schema 16:28:13 schema validation is rarely used in context of web services 16:28:30 performance issues with large documents 16:31:05 interoperability issues w/r/t xsd mostly manifested at design time 16:36:11 tried to make a list of schema constructs that were problematic 16:37:27 noah: to what degree is there consensus on which programming languages to support? 16:38:39 paulb: roundtripping... if we start from this class structure, we know how to do this... the other side is much harder? 16:39:06 pauld: interest in taking hash table, convert to xml and back to hashtable 16:39:21 msm: finds that requirement puzzling or troubling 16:40:03 jmarsh: the way wsdl2.0 is designed, you use the schema but there are extensions that can help in mapping 16:40:19 jmarsh: all just frosting 16:40:28 noah: important point we may want to track 16:41:27 one end of the spectrum, there's no specific language typing 16:41:43 other end has specific typing (system.lang.integer) 16:42:04 msm: isn't a well known idiom in schema to describe that 16:42:18 msm: would that help? 16:42:33 if there were schema types that mapped to hash tables? 16:43:25 umit: in lang binding (jaxb) roundtripping is extremely hard... helps to be able to retain that information 16:44:01 jon caladine -- BT 16:44:11 been involved in ws-i in the xml schema workplan wg 16:44:21 s/caladine/calladine/ 16:44:22 manager of web services integration team in BT 16:44:29 me thanks 16:45:08 had a promising start in taking critical systems and represnting them as web service 16:45:42 when we move from simple rpc to doc literal made things a little bit more difficult w/r/t interoperability at design time 16:45:58 interoperabiluty was achieved using rpc/encoded 16:46:19 by virtue of simplicity 16:46:30 gave them the model that people wanted (data binding) 16:46:47 code generation 16:49:06 umit: what is meant by contract first 16:49:29 jonc: working from existing systems so they converted existing interfaces into wsdl interfaces 16:50:09 s/represnting/representing/ 16:50:18 s/biluty/bility/ 16:50:30 ErikJ has joined #xsd-user 16:51:52 descibes bearer mgt system architecture 16:52:19 300k txns/hour 16:52:41 wanted to future proof the design 16:52:51 used contract first approach 16:53:21 started to use schema constructs that had not been used in previous generation of web services 16:53:36 had to constrain schema designers 16:54:20 give them a profile that they can use 16:54:43 not the answer because these things aren't carved in stone 16:55:03 trying to constrain developers is not a rewarding course of action 16:57:21 real killer for gateway application was mixed content support in toolkits 16:57:35 was either incorrectly represented or rejected 17:01:36 web services is actually supplanting existing b2b solutions 17:01:47 currently not publishing schemas 17:02:01 but this is an increasingly important demand by customers 17:02:35 don't want to process xml as documents 17:02:43 not all of BT, but a majority 17:02:58 dorchard has joined #xsd-user 17:04:09 tendancy towards complexity can be constrained to something very simple minded 17:04:18 see graphic in jonc's charts! 17:05:12 alex: interested to know whether they plan on using validity assessment 17:05:19 jonc: not presently 17:05:29 partly because of performance 17:06:13 curious to know if performance was improved, would their opinion change? 17:06:18 msm: struck by regularity with which code-generation is coming up in discussion 17:06:22 How much improvement would be required? 17:06:37 noah: some of us proposed in xsd wg but not formalized as a requirement 17:07:06 paulb: recalls code-gen as being in the forefront of many people's minds 17:07:20 msm: may have been blocking it out 17:07:36 michael rowell - OAGi 17:08:02 define schemas for such things as purchase orders, invoices, etc. 17:08:09 use xsd as an alphabet if you will 17:08:11 Is code generation == data binding, or more than that? 17:09:51 yes 17:10:01 yes which? 17:10:25 OAGi works with vertical orgs as well 17:11:04 identifies 3 ways to handle extension in xml schema 17:11:19 xsi: type, any and extend/substitute 17:12:40 wants substitution groups for local elements 17:12:56 paulb: this has been asked for by many for several years 17:13:31 michaelr: complexType derivation by restriction 17:13:46 tools could help in this area 17:14:01 schemaLocation consistency 17:14:23 uyalcina has joined #xsd-user 17:15:45 noah: when you say redefine doesn't work across namespaces 17:16:10 if I'm going to write a redefine of a type, need a separate document 17:16:49 michaelr: if I want to use a document you've defined but add an element to that, I have to redefine in your namespace 17:17:00 heidib has joined #xsd-user 17:17:05 noah: for elements or types? 17:17:11 michaelr: could be both 17:17:36 noah: also important to understand what the instance documents should look like 17:18:38 simpleType union, not a lot of tool support 17:18:46 paulb: what do you mean by tool support 17:19:19 michaelr: code generation/databinding issue mostly 17:21:01 ??: does OAGi have a recommendation of constructs that should or should not be used? 17:21:06 michaelr: yes 17:21:09 dorchard has joined #xsd-user 17:21:23 msm: had question on charts regarding bags 17:21:30 michaelr: model group all 17:21:50 treating a collection within a parent bag without particular order 17:22:47 pauld: all used to bind java classes 17:23:23 paulb: the problems is the restriction of xs:all 17:25:18 noah: history - what we discovered is whether we like it or not, the order of elements in xml is important 17:25:38 whether your use case makes it interesting, xml as a spec says that they are different documents 17:25:46 order of attributes is not significant 17:26:08 asked to add a standard annotation that indicates that I really didn't care about the order 17:26:20 some of the trouble comes from the infoset spec 17:26:32 michaelr: be nice if it were possible to have a bag of bags 17:26:59 noah: really infoset spec that I am appealing to 17:27:30 yes, we can add all kinds of annotation, but we've chosen not to do so thus far 17:27:51 ?? co constrants? are these a requirement 17:27:55 michaelr: yes 17:28:01 also capturing the constraints 17:28:48 ??: any idea how many oagi users are using classes and code generation versus who are processing as documents? 17:29:20 s/??/Waleed/ 17:29:35 michaelr: we do track downloads, but as far as how they are used, we don't have stats but a large majority are using databinding 17:31:09 michaelr: discusses standalone BOD 17:31:21 pauld: have we captured this point? 17:31:35 michael: granularity of namespaces 17:31:50 msm: let's take a break and reconvene at 11 17:45:38 Allen has joined #xsd-user 17:52:29 uyalcina has joined #xsd-user 17:54:32 dezell has joined #xsd-user 17:57:09 MSM_ has joined #xsd-user 18:02:43 Zakim has left #xsd-user 18:02:59 i/jmarsh: wsdl overview/Topic: WSDL overview 18:03:32 DaveO has joined #xsd-user 18:03:34 Topic: HL7 reports 18:04:24 s/??: any/Shridar: any/ 18:04:33 s/reports/report/ 18:05:29 PaulB: healthcare messaging and documents. didn't see that many problems on the document side, more on the messaging side. 18:06:10 ... things we like: xml syntax, separation of elements and types, type derivation 18:06:34 ... having expressed in xml is a win. 18:07:06 ... don't believe that relax NG can do types. 18:07:48 umit has joined #xsd-user 18:08:02 ... interop problems: written in Henry's speak 18:08:08 ... :) 18:08:41 ... complicated writing style, features incorrectly implemented. 18:09:01 Ashok: so it's not that the spec is hard, it's just not that written well? 18:09:07 PaulB: correct 18:09:43 PaulB: we tried a lot of things for the spec in the working group. no sure if other ways to write specs would have made things different. 18:10:22 Noah: it's hard to make the spec simple, because of the component model. 18:10:44 PaulB: schema writers only cares about syntax, the CM makes it difficult for people to understand. 18:10:55 PaulB: but I wouldn't remove it 18:11:50 PaulB: chameleon include, mixed contents, ... 18:11:57 sHL7 slides -> http://www.w3.org/2005/06/21-schema-workshop/HL7%20Report.ppt 18:12:15 s/sHL7/HL7/ 18:14:06 Jonathan: some validation tools have an option to turn off UPA 18:14:18 PaulD: xmlbins has an option for that 18:14:41 s/xmlbins/xmlbeans/ 18:15:14 PaulB: it would be nice if you can only extend in the middle of things 18:16:01 ... all our schemas are generated from UML models. 18:16:48 ... we would like to express that one complex extends an other 18:18:06 PaulB: we'd like to have all of the UML attributes come first, then the associations 18:19:09 ... but the extension forces us to have a linear serialization: can't have all the attributes first for a Person instance 18:19:42 DavidE: so HL7 found the readability of the documents to be more important? 18:19:49 PaulB: yes 18:20:53 ... I wouldn't want to impose the extension ordering, should be up to the authors to define it. 18:22:35 ... because of co-occurence constraints, almost everything in our schemas are optional 18:23:04 paulB: the element is required but the attribute is optional. all attributes are optional. 18:23:40 PaulB: for the case where we have co-occurence constraints, we put schematron rules 18:24:16 ... originally we had a xpath in xsd:appinfo, but we now do it in schematron 18:25:42 ... occurance-based vs value-based co-occurance: first is "if this attribute is present, then those others must be as well", second is "if this attribute has this value, then ..." 18:26:23 David: at NACS we had similar problems as well, ie having attributes optional 18:26:46 .. related to EDI vocabularies 18:30:27 PaulB: local subsitution groups would do well, compared to type wild cards 18:31:26 ... anonymous types don't have an identity :( 18:33:11 [questions] 18:33:28 Michael: do you groups within all groups? 18:33:34 PaulB: no, we don't need that. 18:35:10 mnot has joined #xsd-user 18:35:50 ... we have very complex constraints [and indeed, Paul gives a very one :) ] 18:35:58 s/very one/very complex one/ 18:37:59 Topic: QuickTree report 18:38:25 s/Quicktree report/QuickTree report, application of XML Schema in Web Services security/ 18:39:40 isn't libxml2 written in C? 18:39:51 Sridhar presents his SOAP security module (SS) 18:39:56 pauld, correct 18:40:50 Sridhar: features: xml denial of service prevention, wsdl based access control, soap structural and parameter validation, sql and command injection protection, streaming mode interface. 18:41:28 Sridhar: all of this is done in a streaming mode 18:42:58 Sridhar: wsdl based validation: xml schema 1.0 validation engine (written in C). all the wsdl get converted into schemas. 18:43:35 ... ids, keys are make streaming harder 18:44:16 ... for the datatype validation, we used an existing one. only developed the structural part. 18:44:52 ... everyone develops their schemas but no one is checking at runtime because of performance hits 18:45:52 ... for any schema element, we have callbacks to implement the behaviors (e.g. ACLs) 18:48:43 Sridhar: incremental levels of compliance? it would save us time. currently everyone just claims to support "XML Schema" 18:50:24 Sridhar: most of the xml schema do not consider security, like checking facets 18:51:13 Sridhar: adding concepts of aspects: conformance/compliance levels, ignore order/c14n, DoS, xsit:type support. 18:52:12 ... the same schema goes into several users, including your customers. having a security profile could help: "don't care about datatypes", etc. 18:52:51 PaulB: c14n is an important one but don't have a solution so far 18:52:57 Sridhar: I don't have one either 18:53:17 PaulB: ie write a schema that will validate an instance and its c14n instance 18:53:38 Topic: SAP report 18:54:11 SAP SAP User Experience Report on XML Schema -> http://web3.w3.org/2005/06/21-schema-workshop/SAPreport.ppt 18:55:08 s/SAP SAP/SAP/ 18:55:46 Umit: SAP takes of your HR and CRM applications 18:56:03 ... our platform is Web Services and XML 18:56:36 MSM has joined #xsd-user 18:56:39 ... lots of applications and we need to have common datatypes beteween those 18:56:45 s/beteween/between/ 18:57:07 ... so we use schema for data modelling 18:58:02 ... we use wsdl for our integration Web Services. 18:58:14 not just Java, but also ABAP 18:59:19 ... usability: you need a controlable environment, otherwise it gets out of hands. we're using UN/CEFACT Core component spec. 19:00:49 Umit: we also have a profile for schemas 19:01:35 (profile limits use of extension, restriction, forbids substitution groups, redefinition, element wildcards 19:02:01 ... only the facet aspects is allowed in extension/restriction 19:03:13 ... "solve the versioning problem!" 19:03:54 ... please defines the semantics as well: "what does it mean to have a major or a minor version?" 19:04:26 ... doesn't resolve the lc134 issue in wsdl though 19:04:31 The LC24 issue will continue to exist, even with the major/minor version discipline 19:05:47 ... until next version of JAXP 2.0, substituion groups will be difficult 19:06:29 ... with the design of media types in the WSDL note, notations are becoming more useless 19:10:00 WSDL Primer on Versioning states "versioning is difficult, but you should anticipate and plan for change." guess that should be from version 0 : http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-primer.html#adv-versioning 19:12:52 I wish the primer had the many examples that I submitted a while ago... But it will soon. 19:14:41 NM: is it a compatible change to add a country code to a phone number on a PO? 19:14:50 UY: As I've defined the rules, yes, it's compatible. 19:15:01 NM: but I can point you to software that will break 19:15:15 NM: we need to have a clearer understanding of partial understanding 19:15:33 UY: there are two dimensions we have to distinguish: 19:15:38 syntactic extensibility 19:15:44 vs. semantic incompatibility 19:16:01 Only if you distinguish them do you have a way to talk about them and differentiate them 19:17:32 [I think the only coherent way to describe partial understanding is with reference to a particular set of intended declarative or operational semantics] 19:17:40 plh has joined #xsd-user 19:17:47 I think that there are also multiple dimensions to versioning... schema and also implementation. 19:17:48 Noah: made an important point; that extensibility and versioning is 19:17:48 dependent to some degree upon the intended use of the document, and a format 19:17:48 might have many uses; i.e., what you consider backwards-compatible may not be by 19:17:49 another user of the document. 19:17:57 Michael: can you define the versioning problem? it's not clear that everyone is thinking about the same thing 19:18:03 Umit: for example, have a rule that says "if backward incompatible change, use a new namespace" combine components and vocabularies of different versions 19:18:08 Noah: the notion that a change is incompatible or not isn't inherited in the format. for examplpe, is adding a country code in a purchase order incompatible? might depend on the software 19:18:09 uyalcina has joined #xsd-user 19:18:14 Umit: incompatible to the structure, incompatible in changing the semantic 19:18:34 Topic: Semeiosis report 19:18:34 And how does each "user" of a document describe/specify/advertise it's partial understanding? Is there then a composite schema based upon the union of all the partials? 19:19:06 Steven: dealing with open source platforms (PL/SQL, PHP, ...) 19:20:19 Some thoughts prompted by Noah: http://www.pacificspirit.com/blog/2005/05/16/partial_understanding 19:20:23 Steven: scenario: open content development. 19:20:34 if the software that consumes the schema is say code generation software to generate a data binding for a web service... then the issue becomes whether the generated code is capable of dealing with instance documents that have been generated using subsequent revisions of the schema that incorporate compatible changes. even if you put in all the wildcards, etc. much of today's tooling simply ignores them in the context of the generated databinding code... tha 19:22:08 http://xml.memeio.org/ 19:23:36 Steven: interested in state questions: changes, author intent [draft, ...], ... 19:24:53 Steven: the schema expresses glossaries, concept distinction, references. 19:25:37 steven: so started to look at the spec in January. difficult read. 19:25:53 SZ: the schema spec is a difficult read; it's not formal enough 19:27:09 steven: there needs to be a clear statement about recursive types, needs to stop the recursion. 19:27:44 steven: needs to describe sub sections using recursive types, but it has to end. 19:31:06 steven: schema and instance licensing. if I do discovery on the internet, can I use the data? 19:31:27 sz: if i discover data on the net, what can I do with it? how do I tell? 19:31:42 ... who is responsible for enforcing the rights? 19:31:53 [msm thinks the Creative Commons license markup is designed to address this] 19:32:08 ... so I issued a memio instance license as well 19:34:00 steven: interested in two types of constraints: data constraints, and rule constraints 19:34:27 "if this value reaches this level, then you need sign-off" 19:34:45 Steven: I want to be able to trust the timestamp also 19:35:05 PaulB: how would that surface in schema? 19:35:16 Steven: as a constraint. 19:35:23 s/PaulB/PaulD/ 19:35:40 PaulB: not a constraint on the receiver, it's metadata 19:35:44 s/memio/memeio/ 19:36:16 PaulD: so ability to annotate schemas? 19:36:38 Steven: I'd like to have constraints on types 19:37:19 sz: when i specify a type, i'd like to say, about a particular time, the content of a particular element, that it must be automatically generated, that it be state, not declaration 19:38:12 Noah: I think what you're looking for are annotations, outside the scope of schema. 19:38:31 Steven: I'm looking for strong inference, annotations are not string enough 19:38:35 sz: what i want is stronger than an annotation; I want a strong inference 19:39:19 Steven: I didn't use attributes at all in the design of my schema. not clear when to use elements vs attributes. 19:39:58 steven: I want to do one instance that defines the glossary, and I want to refer to that from the schema. 19:45:48 holstege has left #xsd-user 19:45:57 holstege has joined #xsd-user 20:12:03 jonc has joined #xsd-user 20:45:29 Allen has joined #xsd-user 20:45:47 Scribe: Marsh 20:46:01 Topic: Doug Purdy, Distributed Systems Group, Microsoft 20:46:18 Doug: Responsible for all remoting, including Indigo. 20:47:01 ... Level set slide: We segment this space into two areas: Infrastructure protocols (SOAP, etc.), Application protocols (WSDL, XSD). 20:47:21 ... We're in the business of supporting Infrastructure platform, and tools for Application protocols. 20:47:44 ... Most customers don't care about angle brackets, we want to serve them as well as the non-angle folks. 20:47:57 Microsoft's slides ->http://www.w3.org/2005/06/21-schema-workshop/microsoft.ppt 20:48:12 ... People want to be able to see the same programming model on each end, but we're working towards platform neutrality. 20:48:28 ... The infrastructure protocols have been profiled. 20:48:42 ... Application protocols have been profiled only in a limited way. 20:48:57 ... E.g. XSD in WS-I BP doesn't make restrictions. 20:49:22 ... Most users think there is a profile for XSD. 20:49:47 ... Web services are protocol agnostic. That's what our customers want. 20:49:58 pauld has joined #xsd-user 20:50:14 RRSAgent, where am i? 20:50:14 See http://www.w3.org/2005/06/21-xsd-user-irc#T20-50-14 20:50:21 ... MS has a runtime called the CLR. Want to make sure developers have a first-class experience in the CLR. 20:50:42 ... We believe we need to allow versioning of CLR types in an interoperable way. 20:51:05 ... E.g. I want to interoperate with IBM, BEA, don't care about angle brackets. 20:51:25 ... Want to support v1->v2->v1 scenarions without loss, even if there is a schema validator in the way. 20:52:13 ... Want to support reference and value semantics. We want to be able to support graph semantics. 20:52:18 Douglas's slides -> http://www.w3.org/2005/06/21-schema-workshop/microsoft2.ppt 20:52:30 s/Microsoft's slides/Derek's slides/ 20:52:31 ... E.g. Want to send a hash table and preserve the references. 20:53:55 ... At Microsoft we have three levels of users. We want to allow people to mess with the angle brackets (and the protocols themselves), we want the mid-range to use angle brackets but not implement the stack themselves, and the lower-range where they don't want to see any angle brackets at all. 20:54:18 ... The programming model does actually matter to these users. 20:55:06 ... They want intellisense. They want CORBA... 20:55:26 ... But we also want to support all of XSD (vertical schemas, etc.) 20:55:40 ... This means for some schemas you don't get intellisense, you just get a DOM. 20:55:55 ... All schemas are supported, but some give a better programming model experience. 20:56:23 cferris has joined #xsd-user 20:56:41 ... In fact, there is a "de facto" profile of XSD, from the SOAPBuilders. Pretty much sequence and simple types. 20:56:50 implicit profile also available in what works with tools 20:57:01 ... We wanted to add versioning, graphs, generics, but it must be completely legal schema. 20:57:22 ... Some tools can't process anything beyond sequence, simpleTypes. 20:57:53 ... E.g. need to extend int with attributes for versioning and graphs. 20:58:12 ... We have solved the versioning problem without scratching UPA. 20:58:42 ... We tried a full XSD->CLR mapping and it really isn't usable. 20:59:34 will have them presently 20:59:50 ... We have great XML programming models, but in some cases we rely on a fallback model which gives you a downlevel experience, eventually falling back to just getting the SOAP message. 21:00:03 Umit: What is the subset that gives you the best model? 21:00:41 Doug: (Shows some details scribe missed). 21:00:56 heidib has joined #xsd-user 21:01:07 ... Versioning is solved by adding a version delimiter between extensions. 21:01:31 addition of versioning-fencepost elements avoids UPA problems 21:01:44 ... Also provide "unknown serialization data" in the programming model to get at extensions we don't know about. 21:01:53 ... Things to explore: 21:02:21 ... UPA required version delimiter, a bit messy in the instance. 21:03:04 ... Data is exported as dc:int... 21:03:15 ... Don't think profiling at W3C is good idea. 21:03:29 ... Domain-specific profiles might be acceptable, e.g. WS-I for web services. 21:04:03 Chris: xs:id, xs:ref like Guha's id? 21:04:16 Doug: no. It's just an ordinal. 21:04:32 Danielle: Same experience as with the Word schemas? 21:05:07 Doug: No. Our customers are just programmers. 21:05:41 Mark: You said there's support inside MS for a profile in WS-I? 21:05:42 stevenzenith has joined #xsd-user 21:06:08 Doug: Yes, we were worried about a profile that limits Office docs sent to a service. 21:06:31 ... A profile doesn't mean that everyone doesn't need to implement all of schema. 21:07:23 Chris: What's different about JAX RPC - there's a defacto subset that is defined and supported in all tools. There isn't an interoperable problem, just usability. 21:07:56 Doug: There's some stability that a de jure profile gives. 21:09:02 Doug: There are a set of best practices that will give you a good user experience. 21:09:28 Topic: Derek Denny-Brown 21:09:35 uyalcina has joined #xsd-user 21:09:50 Derek: Representing toolkit builders. 21:10:31 ... XSD has worked quite well. Nothing else that meets the requirements (e.g. RelaxNG insufficient for data binding). 21:11:32 ... XSD adoption is accellerating. Office customers use it. That makes breaking changes hard to roll out. Takes years to roll out a complete set of products depending on XSD. 21:12:03 ... Taken years to get a common understanding of the spec, it's just now starting to work across the board. 21:12:36 ... People are moving beyond XSD, they are more interested in the business case. 21:12:55 ... E.g. nobody cares about version delimiters, since fewer people are touching the raw XML. 21:13:46 ... Many misunderstandings have been clarified lately. 21:14:17 jeffm has joined #xsd-user 21:14:23 ... Many unresolved questions, like how to package a set of schema files. Key piece which is left to implementations, and they all do it differently. 21:14:56 ... 5 years later, UPA is finally being resolved. Other examples abound. 21:15:27 ... Test suite is a big help. It's taken us years to figure out how to do a complete set of tests, and to figure out how people really use it. 21:15:54 ... Primer showed how to do simple stuff, real world is much messier. 21:17:12 ... Customers are using substitution groups and more complicated elements. But the average user needs tool support. 21:18:15 ... UPA vs Wildcards has been a big issue for us. Half our products love and depend upon UPA. Half hate it. 21:18:39 I think it important to capture derek's points here 21:19:01 Derivation / Substitution groups 21:19:06 about the confusion and the process associated with developing concepts 21:19:24 it is a classic problem 21:19:32 Physical representation ambiguous. 21:19:39 and often gets excluded from the mintues 21:19:57 Redefine has been a headache, it's hard to understand what it's modelling. 21:20:11 ... Not made clear in the schema spec why redefine is done the way it is. 21:20:42 ... Spec is complex and it takes a long time to figure out how the pieces interrelate. 21:21:06 ... To figure out how to do validation requires scanning the whole Schema spec. No single set of rules. 21:21:14 ... Must do cross-annotations in your head. 21:21:40 ... That's why it's taken so long for all the vendors to get the model right. 21:21:44 noted :-) 21:22:37 ... It would take years to roll out a complete set of products. 21:23:15 ... Need a way to change out pieces of your infrastructure. 21:23:29 ... Would take 5 years to get co-occurance deployed across the board. 21:23:42 ... Need to keep backwards-compatibility for customers. 21:24:28 PaulB: You said the number of errata: I believe there are so many errata because of the writing style. Hid the cross-relations inherent in the spec. 21:25:13 Derek: Not sure how to fix, but this is part of the problem. 21:25:25 PaulD: No formal notation (though it looks kind of like one...) 21:25:51 mrowell44 has joined #xsd-user 21:25:59 Derek: Many edge cases and holes are not apparent. 21:26:08 Topic: IBM Experience with XML Schema 21:27:16 Noah: IBM's experience, some of my own perspectives too. Will be at a higher level than many other talks. 21:27:53 ... The core of the schema WG has felt some responsibility for the points of pain, but I'm gratified that: 21:28:18 ... Schema has met its main goal. It is ubiquitous, though not as pretty or simple, and there are still some painful problems. 21:28:37 ... The goal was to build a language everyone would use - which is where we are today. 21:29:01 ... Some of the more controversial decisions like UPA were hard, remain hard. 21:29:30 ... Screwing up the current value would be the only thing worse than failing to improve the situation. 21:29:46 ... Web services aren't the only use case we need to consider. 21:30:23 ... IBM and MS have similar breadth. Schema integrates both data and documents. Lotus Notes is architecturally much like XML inside. 21:31:04 ... Integrates data and documents and allows correlation, with new powerful types of applications. 21:31:26 ... Tricky balance between making this work for various communities. 21:32:00 ... Java and .Net are important, but many pain points aren't about Schema. e.g. mixed content came from XML. 21:32:32 ... Need to be careful when we set the bar about what kinds of changes would fly. 21:32:40 Stability vs. change: 21:33:16 ... Open question whether validation will become more common as perf improves. 21:33:32 ... Can delegate more checking from the app to the Schema. 21:34:03 ... Must be careful when we change something (ref XML 1.1). Among the clients are the applications which rely on validation. 21:34:37 ... IBM builds APIs that are isomorphic to the component model. Prefer not to see changes there except for high-value reasons. 21:35:06 ... XML and Schema are about loose coupling, need migration strategies. 21:35:39 ... Punch line: "Changes must have such compelling value that both end users and middleware vendors will deploy aggressively and ubiquitously." 21:35:44 dorchard has joined #xsd-user 21:36:06 ... Schema WG focusses on the right thing for 1.1, but doesn't always look backward. 21:36:20 ... If the next version is similarly ubiquitous, we're on the right track. 21:36:27 plh has joined #xsd-user 21:36:27 ... What are the problems with XML Schema? 21:36:40 ... focussed on some less-discussed. 21:37:07 ... Complexity of local vs. global elements. 21:37:21 ... Unnecessarily forbidding syntax, but it might be too late for that. 21:37:50 ... Telling people just to implement part is death to interop. Need to tell people to implement it fully and correctly. 21:38:40 ... Profiles are fine for optimization, but not for general-purpose work. 21:39:12 uyalcina has joined #xsd-user 21:39:23 ... Mixed content and java.lang.string don't match, but mixed content is useful. 21:39:51 ... Doing versioning could justify a new version, but we need a groundswell first. 21:40:05 ... We should focus on tooling and conformance. 21:40:24 ... We should consider only high-value work, and don't follow XML 1.1's failures. 21:40:50 ... Weigh the amount of disruption of new features. 21:41:09 ... Don't dumb down XML or Schema to fit programming languages. 21:41:16 (two other bullets on this slide) 21:41:22 uyalcina has joined #xsd-user 21:41:32 ... Lessons from working on XML Schema: 21:41:43 ... "no such thing as a simple feature" 21:42:05 ... there is combinatorial complexity. 21:42:15 ... "big committee -> big language" 21:42:47 ... though right now we have too small a committee. Need more resources to deliver more than maintenence. 21:42:54 uyalcina has joined #xsd-user 21:43:00 ... "documents and data together are cool" 21:43:07 ... requires some compromise by each side. 21:43:19 ... "make realistic schedules" 21:43:39 ... thinks a pruning stage was short-circuited. 21:44:10 Chris: Devil's advocate: In XML 1.1 we added something, we can't roll it out. What's different? 21:44:50 Noah: Need compelling value, e.g. aligning decimal with IEEE. 21:45:27 ... Need to choose areas that don't unravel the whole spec. XML 1.1 hit some key types (names, strings) in Schema that made it very disruptive. 21:45:45 Topic: Sun 21:46:24 Sun's slides -> http://www.w3.org/2005/06/21-schema-workshop/sun.pdf 21:46:27 Kohsuke: Sun supports XML schema in Java APIs, NetBeans, J2EE deployment descripters, Liberty, etc. 21:46:45 ... Issues we experienced: 21:46:51 rrsagent, where am I? 21:46:51 See http://www.w3.org/2005/06/21-xsd-user-irc#T21-46-51 21:47:34 ... JAXP allows type substitution by default. 21:47:50 ... Makes it hard to map into the programming model, since they might be extensions. 21:48:02 ... Need to account for the possibility that substitution happens. 21:48:15 ... Good data binding is difficult. 21:48:23 s/JAXP/JAXB/ 21:48:41 ... , even when extensibility points aren't used. 21:49:05 ... Complexity is staggering. Requires 5 people full time or you won't get a good implementation. 21:49:24 ... Unfortunate, but not clear how to fix. 21:49:33 ... Need better data-binding hints. 21:49:41 ... E.g. root element designation is missing. 21:50:19 ... convoluted content models are allowed, and data-binding tools can't infer the intention. 21:51:02 ... Identity constraints are hard to exploit by data-binding code. 21:51:10 ... UPA has been mentioned before. 21:51:28 ... More trivial things: no annotation for particles, attribute uses, ... 21:51:52 ... Wherever you can use named type you can substitute an anonymous type, except for some ugly exceptions. 21:52:15 ... The W3C test suite contains some erroneous tests, which leads to bad implementation. 21:52:42 ... Even though there are many tests, it's not clear what the coverage is. We estimate that only half of the spec is coverred. 21:52:55 ... Test suite isn't up to date with errata. 21:53:22 ... There isn't an appeal process in place, so if you suspect a test is wrong there's no nice way to make that claim. 21:53:28 PLH: Even to the Schema WG? 21:53:37 K: Maybe it hasn't been advertised. 21:53:45 ... User issues include: 21:53:56 ... that they complain to us about... 21:54:47 ... Error messages are cryptic. Spec doesn't say how schema documents are assembled. 21:55:21 ... Some tools ignore malformed schema location, this is hard to figure out what's wrong. 21:55:30 ... Innocent developers suffer. 21:55:58 ... UPA violation is impossible to explain (and even detect for an expert). 21:56:35 ... Tools generating bad schemas (mentioned the brand here :-) 21:57:06 ... But newcomers find published best practices that are actually bad practices. 21:57:42 Conclusion: XML Schema evolution will cost a lot. Have to implement across a large number of APIs, tools, specs, etc. Quite a gamble. 21:58:16 ... Nice if a new version actually delivered value, but it is a bigger risk that 1.1 won't deliver the expected improvements. 21:58:31 ... Focus more on interoperability and testing (better test suite) for 1.0. 21:59:15 Ashok: Test suite: typically yes/no validation test. Would you like PSVI tests instead? 21:59:44 ?: In Java conformance test suite, you get pass/fail. 22:00:04 Derek: We don't necessarily expose the PSVI. 22:00:22 s/?/?:Sun/ 22:00:45 PaulB: Some parts of the spec can't be tested by pass/fail. The test is what's the value of a property in the PSVI. 22:01:25 CMSMQ: Thinks further cultivation of the test suite is good. There is an appeal process in place, though it's never been excericed. 22:01:35 s/excericed/exercised/ 22:02:00 Public XML Schema page -> http://www.w3.org/XML/Schema.html 22:02:08 ... Go to the public schema page to see the process. 22:02:21 Topic: Experience with XML Schema, Ashok Malhotra 22:03:04 Ashok: Speaking for Oracle, difficult questions to be directed to my colleagues ;-) 22:03:40 .. We map XML Schema to object classes and database structures. We map XML documents to object instances, and database fields. 22:04:10 ... We've found it different to map choice, derivation by restriction, facets, derivation contreol, namespace restrictions, annotations, substitution groups. 22:04:38 ... Choice allows variations in the structure of an object, which most object-oriented languages don't allow. Perhaps the languages need to be fixed. 22:05:04 noah_Schema_mtg has joined #xsd-user 22:05:52 ... Derivation by restriction has no equivalent in oo. In the db we map both the original and the restriction to the same db field. 22:05:56 Doesn't derivation by restriction correspond to an OO construct in which the "setters" ensure that the values are bounded (or not exposed at all?) 22:06:05 ... Then check some stuff at runtime. 22:06:29 ... Facets don't have an equivalent either. 22:07:16 ... Fixed and final derivations and substitutions. To analog of block and block default, etc. 22:07:32 ... Wildcards can be restricted to elements in a particular namespace, no equivalent. 22:07:33 i think there is a hidden assumption in these "there is no OO equivalent" statements, which we ought to try to tease out later on 22:07:45 ... Annotation problems 22:08:25 ... A dev wants to annotate a reference, but there is also an annotation on the element. Which has precedence. 22:08:51 Mary: You lose the annotation on the reference. 22:09:02 Ashok: Don't like this. Many other similar cases. 22:09:28 ... Some arbitrary decisions: Annotation on attribute ref. 22:09:41 ... Annotation on a model group ref or and element ref is associate with teh {particle}. 22:10:13 ... We store schemas and manage them in the database. You can register a schema, validate docs against it, generate a schema from doc. 22:10:19 ... etc. 22:10:57 ... In doing this, what do you do with substitution groups? You have a column corresponding to the head, and some extra stuff that tells you what the real type is. Also tells about namespaces, etc. 22:11:16 ... Surprised noone has talked about mapping datatypes, like duration. 22:11:46 ... Datetime where tz is optional is a problem. 22:11:55 ... Generally just store as a VARCHR. 22:12:25 ... Standard mapping for many datatypes, but you can specify mapping using schema annotations too. 22:12:48 ... Key/keyref aren't enforced at the schema level, since they apply within a doc, instead of across a doc collection, like SQL. 22:13:06 ... Got the sense that key/keyref not very useful. From a db POV 22:13:41 ?-Oracle: Not so useful in the db, e.g. a unique PO number across all the POs. In practice they don't create a POcollection doc. 22:14:10 ... Disconnect between notion of collection in the db and the doc in the Schema world. Some workarounds, but nobody is doing it in practice. 22:14:53 Noah: History was that the impetus came from db vendors. Ironic, eh? 22:15:15 ... Lesson to be learned about complexity. 22:15:33 Dave: Didn't like key/keyref until started to work with Office docs. 22:15:58 Derek: Our db guys like Key/keyref, but there isn't a good collection notion. 22:16:38 Ashok: Wildcards don't allow excluding a specific namespace, but still allow the null namespace. 22:17:02 ... Redefine is the only feature we don't support. No customer uses this! 22:17:46 CMSMQ: Question for you and group at large. Hear UPA is a pain point, which indicates a willingness to entertain removal. 22:18:10 ... But I'm also hearing the biggest problem is that databinding rules don't understand choice, which is quite fundamental. 22:18:45 ... Can't handle substitution groups, which are well-defined. Don't do well with derivation by restriction. Will relaxing UPA help at all? 22:19:13 stevenzenith has joined #xsd-user 22:19:22 Noah: Your paraphase surprises me. UPA is a two-sided thing. Data-binders depend upon it. 22:19:52 ... The other side is that users can't tell whether their schema is good. 22:20:02 K: No harder to bind with or without UPA. 22:20:26 CMSMQ: Reconvene at 3:45 22:46:48 dezell has joined #xsd-user 22:46:54 Scribe: dezell 22:47:12 Topic: Allen Brookes -- Rogue Wave Software 22:47:31 Allen: most of our points are the same, but with a different perspective. 22:48:13 ... our product (implemented in C++) would be one of those "incomplete" ones people complain about. 22:48:57 ... most experiences have been positive. 22:49:47 ... we've had trouble with: difficult schema features, invalid schemas, versioning, and compiler limitations. 22:50:01 ... this last is a problem with C++ compilers. 22:50:18 plh has left #xsd-user 22:50:29 ... issues include: choice, complexType restriction, and mixed content. 22:51:25 mnot has joined #xsd-user 22:51:41 ... "choice" is inefficient, must represent all possible types. 22:52:47 ... restriction causes class members to change type -- e.g. from base type of "string" to derived type of integer. 22:53:28 ... mixed content -- we haven't had any verified needs for it. 22:55:32 ... common user errors: ambiguous schemas, circular includes, illegal restrictions, namespace issues, non-standard extensions. 22:55:50 ... these last would normally make documents smaller (leave out nil, etc.) 22:56:55 ... we understood the versioning model to be predicated on use of new namespaces for each rev. 22:57:17 ... actually they want to ignore extra elements and attributes. 22:58:17 ... compiler problems: large number of classes; # of symbols in shared libs on some platforms is limited (e.g. 7000 classes) 22:58:47 ... schema doesn't directly support subdividing the schema to work around this problem. 23:00:02 ... profiling might be helpful, but people will continue to ask for features even if they aren't in the profile. 23:00:28 ... is the problem really with Schema or is it the datamodel (i.e. class model in C++) 23:00:52 ... XML Beans appears to be a viable alternative. 23:01:05 ... call of open-source project to implement XML Beans in C++. 23:01:06 stevenzenith has joined #xsd-user 23:01:53 PB: circular includes (for example) is explicitly allowed. 23:02:23 MSM: yes, circular includes are not a problem. 23:03:20 PB: spec says something like -- if you've already included something and end up with a duplicate name treat it the same. 23:03:57 uyalcina has joined #xsd-user 23:04:38 MSM: important to understand "union" in the sense of sets -- {1} U {1} -> {1} 23:06:23 CF: it seems clear that clarification of how "include" works would be very much appreciated. 23:06:38 JM: WSDL has had a similar experience. 23:07:29 (scribe note -- ask JM about his added feature... missed it.) 23:07:55 NM: why "schemaLocation" is a hint has a history. But validators might not trust document authors. 23:08:19 WSDL eventually decided to say that including two schemas in the same WSDL document is itself a *hint* that they should be accessible for import to each other 23:08:37 i.e. the schema processor should perceive the context and DTRT 23:11:10 uyalcina has joined #xsd-user 23:11:51 Topic: Dan Vint -- Acord 23:12:26 I come from a publishing background, so I have perhaps a different point of view. 23:12:37 Acord represents the insurance industry -- a non-profit. 23:13:24 We have three specs, one for each of the major insurance lines (Property & Casualty, Life, Reinsurance) 23:14:06 plh has joined #xsd-user 23:14:17 ACORD's slides -> http://www.w3.org/2005/06/21-schema-workshop/acord.ppt 23:14:18 P&C started with EDI 23:14:28 Life was an MS initiative 23:14:40 I have made the request to generate http://www.w3.org/2005/06/21-xsd-user-minutes.html plh 23:14:52 ... RLC started in Europe. 23:15:05 (scribe note, above comments are Dan's) 23:15:56 rrsagent, where am I? 23:15:56 See http://www.w3.org/2005/06/21-xsd-user-irc#T23-15-56 23:17:00 ... we like: have schema in XML, basic datatypes, built-in document, import/include/redefine. 23:17:10 i/erik johnson - representing ws-i.org/Topic: WS-I Report 23:17:37 ... would like to see this support (including namespaces) back into DTDs. 23:18:11 i/jon calladine -- BT/Topic: BT report 23:18:51 i/michael rowell - OAGi/OAGi Report 23:18:58 I have made the request to generate http://www.w3.org/2005/06/21-xsd-user-minutes.html plh 23:19:10 ... things we don't like: overly complex 23:19:33 ... need tools, tools are inconsistent, implementations are incomplete 23:20:05 i/scribes: chris, philippe/scribeNick: scribe_cbf 23:20:08 ... having to continue to define entities in DTDs is distasteful 23:21:25 ... hint attributes! -- awful for interoperability. 23:21:44 ... hinder versioning -- version attribute not usually supported. 23:22:20 ... namespaces are the only way to force recognition of a change. 23:23:38 ... using namespaces to designate extensions leads to "namespace pollution" 23:24:06 AM: can you elaborate on what the lowest common denominator is? 23:24:18 s/AM/AlexM 23:24:40 Dan: choice, groups, xs:any... all these cause trouble 23:25:07 Chair: Paul Downey and Michael Sperberg-McQueen 23:26:19 ... code lists need to be extendable. Need a way to identify extended code values. 23:26:34 I think gudge had a hack for extensible enumerations 23:26:37 s/??: does OAGi/Sridhar: does OAGi/ 23:26:48 ... our type is based on QName to help identify the source. 23:27:37 OAGi uses the unioned simpleType to do this. 23:27:43 I have made the request to generate http://www.w3.org/2005/06/21-xsd-user-minutes.html plh 23:28:06 ... need to be able to control validation: sometimes strict, sometimes without extensions. 23:29:14 ... we use two methods... global elements and groups with restriction and extension, and element. 23:29:23 i/michael rowell - OAGi/Topic: OAGi report 23:29:35 ... you >have< to have a tool to understand any reasonable schema. 23:32:39 ... where we need help: integrated approach for all tools; need at least one profile of XSV that matches DTD functionality. 23:34:09 ... we need much simpler APIs to work with XML. 23:34:27 (scribe invites help in enumerating the mentioned languages...) 23:36:11 ... need a way to limit features we don't want. 23:36:17 found gudge's open enumeration of qnames hack on the oasis wss list 23:36:18 http://lists.oasis-open.org/archives/wss/200402/msg00011.html 23:36:43 ... We've had bad experiences in trying to use schemas produced by others? 23:37:11 s/?/. 23:37:32 ... Doesn't work well unless schemas were created at the same time. 23:37:50 AlexM: have you looked at OASIS XML catalogs. 23:38:06 ... not sure I trust that... 23:38:24 Present: Philippe Le Hegaret, David Ezell, Noah Mendelson, Sridhar Guthula, Chris Ferris, Alex Milowski, Allen Brookes, Steve Ericsson-Zenith, Heidi Buelow, Michael Rowell, Leonid Arbouzov, Radu Prestiuc, Soumitra Sengupta, Erik Johnson, Waleed Abdulla, Jon Calladine, Tony Cincotta, Kohsuke Kawaguchi, Umit Yalcinalp, Douglas Purdy, Derek Denny-Brown, Jonathan Marsh, Mark Nottingham, Paul Byron, Mary Holstege, Michael Sperberg-McQueen, Paul Downey, Dan Vint, 23:38:24 Shih-Chang Chen, Ravi Murthy 23:38:39 AlexM: Xerces does work in this regard, except in regard to "no-namespace" namespace documents. 23:39:18 I have made the request to generate http://www.w3.org/2005/06/21-xsd-user-minutes.html plh 23:40:27 ... finally, changing the namespace is one of the few methods I have to force acknowledgement of the change. 23:41:06 Topic: Review of points from today, and creation of topic list for Day 2 23:41:44 PD: suggest that we skip the review of the thoughts of the program committee on the papers submitted, and go straight to the information we captured on the flip charts. 23:42:05 (scribe is shaking with anticipation... :-) 23:43:42 JM: the list looks daunting. 23:43:57 MN: should we process the lists offline? 23:44:37 DE: how about 23:44:53 hearing suggestions from the floor. 23:45:05 JM: here's one -- is "ignore-unknowns" tractible? 23:45:12 (scribe can't spell). 23:46:48 (MSM returns with sticky notes.) 23:47:17 MSM: the game is to tear your sticky into 3, and go up and stick your sticky next to the (three) issues you'd like to talk about tomorrow. 23:48:36 s/Shih-Chang Chen, Ravi Murthy// 23:49:07 s/Dan Vint,/Dan Vint, Ravi Murthy, Kongyi Zhon/ 23:49:10 jeffm has joined #xsd-user 23:49:22 I have made the request to generate http://www.w3.org/2005/06/21-xsd-user-minutes.html plh 23:56:47 stevenzenith has joined #xsd-user 23:59:37 dezell650 has joined #xsd-user 23:59:57 dezell650 has left #xsd-user