RE: Saxon 8.0b and NOTATIONs
> Now, you're using a Basic XSLT processor (Saxon 8.0B). When using a > Basic XSLT processor, all attributes must have the type > xdt:untypedAtomic, but Saxon 8.0B is annotating the bar attribute with > the type xs:NOTATION. Actually, I haven't yet removed the vestiges of schema-aware functionality that were present in Saxon 7.9 from the open source product. This is partly because I thought people might get upset if things suddenly stopped working, and partly because I'm not convinced the conformance rules for a Basic XSLT Processor are 100% finalized yet. Eventually, though, I do intend to align the functionality of Saxon-B 8.0 with the "Basic XSLT" conformance level. I document xs:NOTATION as being not supported. "Not supported" means the effects of doing it are unpredictable and untested. This is why the error message is fairly meaningless: you're in uncharted waters. But in fact Saxon is getting it wrong for a different reason. Looking at the Data Model spec, it says that when generating the Data Model from an InfoSet, the DTD types ID, IDREF, ENTITY, ENTITIES, NMTOKEN, and NMTOKENS should be translated into corresponding type annotations on the attribute node. NOTATION is missing from this list, so it appears that the node shouldn't have been annotated as an xs:NOTATION. Presumably the reason for this is that xs:NOTATION is an abstract type - a node can only belong to one of its subtypes. So I've now changed the code so that DTD-defined NOTATION attributes will in future be treated just like CDATA. Michael Kay
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format