Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorAtsushi Eno <atsushieno@gmail.com>2004-11-29 09:09:13 +0300
committerAtsushi Eno <atsushieno@gmail.com>2004-11-29 09:09:13 +0300
commit24a77e294b1c3e988f571b4f8b631a549aec35eb (patch)
tree852acf1a9cbe00765807581a3d83f6914f2e2d76 /web
parentd654416f84e7911709613087f98e0b8d273aba1b (diff)
2004-11-29 Atsushi Enomoto <atsushi@ximian.com>
* xml-classes : updates mainly 2.0 stuff (XQuery dropping, etc.) svn path=/trunk/mono/; revision=36759
Diffstat (limited to 'web')
-rwxr-xr-xweb/ChangeLog4
-rwxr-xr-xweb/xml-classes166
2 files changed, 98 insertions, 72 deletions
diff --git a/web/ChangeLog b/web/ChangeLog
index 3136a8aa3ce..4e55be8617a 100755
--- a/web/ChangeLog
+++ b/web/ChangeLog
@@ -1,3 +1,7 @@
+2004-11-29 Atsushi Enomoto <atsushi@ximian.com>
+
+ * xml-classes : updates mainly 2.0 stuff (XQuery dropping, etc.)
+
2004-10-11 Neale Ferguson <Neale.Ferguson@SoftwareAG-usa.com>
* web/team.xml: Update my info.
diff --git a/web/xml-classes b/web/xml-classes
index 143a3af60f5..34dda62ed39 100755
--- a/web/xml-classes
+++ b/web/xml-classes
@@ -40,15 +40,14 @@
implemented, but it requires CAS (code access security) feature. We need to
fixup this class after ongoing CAS effort works.
- You might also be interested in an improved <a href="http://codeblogs.ximian.com/blogs/benm/archives/000039.html">XmlCachingResolver</a> by Ben Maurer.
- If even one time download is not acceptable, you can use <a href="http://primates.ximian.com/~atsushi/XmlStoredResolver.cs">this one</a>.
+ You might also be interested in some improved implementations which resides
+ in Mono.Xml.Ext.dll.
- [2.0] XmlDataSourceResolver is not implemented as yet.
+ [2.0] XmlDataSourceResolver <del>is not implemented as yet</del><ins>vanished</ins>.
**** XmlNameTable
NameTable is implemented, but also needs performance improvement.
- It affects on the whole XML processing performance so much.
Optimization hackings are welcome. There is also a <a
href="http://bugzilla.ximian.com/show_bug.cgi?id=59537">bugzilla entry</a>
for this matter.
@@ -59,7 +58,7 @@
<ul>
* All OASIS conformance test passes as Microsoft does. Some
- W3C tests fail, but it looks better.
+ W3C tests fail, but it looks better than Microsoft.
* Entity expansion and its well-formedness check is incomplete.
It incorrectly allows divided content models. It incorrectly
treats its Base URI, so some dtd parse fails.
@@ -135,7 +134,8 @@
*** System.Xml.Serialization
- Lluis rules ;-)
+ Lluis Sanchez is the maintainer of this namespace (as well as
+ System.Web.Services).
Well, in fact XmlSerializer is almost finished and is on bugfix phase.
@@ -230,18 +230,34 @@
System.Xml 2.0 contains several features such as:
<ul>
- * new XPathNavigator <del>and XPathDocument</del><ins>XPathDocument is <a href="http://blogs.msdn.com/dareobasanjo/archive/2004/08/25/220251.aspx">being reverted</a></ins>
+ * new XPathNavigator members that supports editing XmlDocument
* XmlReaderSettings, XmlWriterSettings and factory methods
- * Strongly typed XmlReader and XmlWriter.
+ * Strongly typed XmlReader, XmlWriter and XPathNavigator.
* XML Schema design changes
* XSD Inference
* Well-documented and improved XmlSerializer.
- * XQuery execution engine
- * XQuery and XSLT per-stylesheet assembly generator
+ * XSLT per-stylesheet assembly generator
</ul>
*** System.Xml 2.0
+**** Summary
+
+ <a href="http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/class-status-System.Xml.html">
+ Here</a> is the latest status of mono's System.Xml 2.0.
+
+ Major remaining tasks are:
+
+ <ul>
+ * binary content support on XmlReader
+ * IXmlSchemaInfo support for DOM and XmlValidatingReader
+ * XmlSchemaObject.Parent support
+ * XmlValueConverter
+ * possibly XmlSchemaValidator (but no description about this
+ class right now).
+ * XslCompiledTransform (not available in .NET FX 2.0 as yet)
+ </ul>
+
**** XmlReader/XmlWrier Factory methods
In .NET 2.0, XmlTextReader, XmlNodeReader, XmlValidatingReader are
@@ -249,20 +265,27 @@
alternative way to create XmlNodeReader). Similarly, there are
XmlWriter.Create() overloads.
- Currently, Microsoft's XmlWriter.Create() is unreliable and maybe there
- will be changes. So basically XmlWriter.Create() is supposed to be done
- after the next beta version of .NET 2.0.
+ Currently, Microsoft's XmlWriter.Create() is unstable and there will
+ be changes. So basically remaining XmlWriter.Create() is supposed to be
+ done after the next beta version of .NET 2.0.
Some of XmlReader.Create() overloads are implemented, with limited
XmlReaderSettings support.
-**** Typed XmlReader/XmlWriter
+**** Strongly typed XmlReader/XmlWriter
In .NET 2.0, XmlReader is supposed to support strongly-typed data reading.
They are based on W3C "XML Schema Datatypes" Recommendation and "XQuery 1.0
and XPath 2.0 Data Model" Working Draft.
+ Note that this W3C specification is just a Working Draft and there might
+ be incompatible changes for those strongly-typed API. For example, in the
+ latest version of the spec (as of November 2004), xs:QName is specified as
+ to have prefix, local name and namespace URI, while .NET XML classes just
+ treat it as XmlQualifiedName which does not contain prefix. So this part of
+ API might become obsolete or useless.
+
Some of XmlReader.ReadValueAsXxx() and XmlWriter.WriteValue() overloads are
implemented, though incompletely. They are based on internal XQueryConvert.
@@ -281,78 +304,75 @@
Microsoft had to redesign System.Xml.Schema classes. We also have to
change many things.
- 1) It does not expose XmlSchemaDatatype anymore (except for obsolete
- members). Primitive types are represented as XmlSchemaSimpleType
- instances (thus there are ElementSchemaType, AttributeSchemaType,
- BaseXmlSchemaType that replace some existing properties).
+ <ul>
+ * It does not expose XmlSchemaDatatype as a type of an
+ element or an attribute (except for obsolete members).
+ Primitive types are represented as XmlSchemaSimpleType
+ instances (thus there are ElementSchemaType,
+ AttributeSchemaType, BaseXmlSchemaType that replace some
+ existing properties). Note that XmlSchemaDatatype itself is
+ not deprecated as yet.
+
+ * "XQuery 1.0 and XPath 2.0 Data Model" datatypes (such as
+ xdt:dayTimeDuration) are newly supported. They are partially
+ implemented yet.
+
+ * schema structures are now bound in parent-child
+ relationship. It is not yet implemented. With related to
+ it, there seems bunch of schema compilation bugfixes.
+
+ * XmlSchemaCollection is not used anymore to represent
+ effective set of schemas. Instead, new XmlSchemaSet class
+ is used. It should affect on schema compilation design.
+ </ul>
- 2) "XQuery 1.0 and XPath 2.0 Data Model" datatypes (such as
- xdt:dayTimeDuration) are newly supported. They are partially implemented
- yet. This task is partly done.
- 3) schema structures are now bound in parent-child relationship. It is
- not yet implemented. With related to it, there seems bunch of schema
- compilation bugfixes.
+**** XSD Inference
- 4) XmlSchemaCollection is not used anymore to represent effective set of
- schemas. Instead, new XmlSchemaSet class is used. It should affect on
- schema compilation design. In fact, I've implemented XmlSchemaCollection
- as more conformant to W3C specification, but there are still many changes
- required. This task is partly done.
+ In .NET 2.0, there is an XML Schema inference implementation. The API (or
+ implementation design) is not cool and Microsoft will make changes in
+ later version of beta or .NET Framework.
-**** XSD Inference
+*** System.Xml.XPath 2.0
- In .NET 2.0, there is an XML Schema inference implementation. Now that
- XmlSchemaSet is basically implemented, it can be separately done by anyone.
- Volunteer efforts are welcome here.
+**** Editable XPathNavigator
+ In System.Xml 2.0, XPathNavigator has many editing API (that used to be
+ "XPathEditableNavigator"). It enables developers to edit XmlDocument
+ (not for XPathDocument; it is read-only).
-*** System.Xml.XPath 2.0
+ (In the early stage of .NET 2.0, XPathDocument is supposed to be editable.
+ Also, the new version of editable XPathNavigator had been already
+ implemented in Mono, as Mono.Xml.XPath.XPathEditableDocument.)
-**** Editable XPathDocument
- <del>
- in .NET 2.0 XPathDocument is supposed to be editable. Currently we provide
- fast document table model based implementation (DTMXPathNavigator), but
- by that design change, we (and they) cannot provide fast read only
- XPathNavigator from XPathDocument anymore.
- </del><ins>
- It is being reverted to the original (.NET 1.x) XPathDocument. We still have
- them, but we'll revert them too in the future. So our XPathDocument will be still faster one.
- </ins>
+*** System.Xml.Xsl 2.0
- Currently, new XPathDocument implementation is provided. The actual
- implementation is Mono.Xml.XPath.XPathDocument2, that is simple dom-like
- tree model. XPathDocument2 implements the same interfaces as XPathDocument
- does. And XPathDocument delegates most of the methods to that class (for
- example, XPathDocument.CreateEditor() calls XPathDocument2.CreateEditor()).
+ There used to be System.Xml.Query.XsltCommand class, and it now disappeared
+ and it is said (by Microsoft developers) that there will be a class named
+ XslCompiledTransform - so it will be included in the next beta version.
+ It is regarded as the identical thing to XsltCommand.
- Currently Mono.Xml.XPath.XPathDocument2 is unstable (it does not pass
- the standalone XSLT tests unlike existing DTMXPathDocument does). So
- it did not replace existing XPathDocument implementation, but you can use
- new implementation by explicitly setting environment value
- USE_XPATH_DOCUMENT_2 = yes. Currently it supports (well, is supposed
- to support) basic editor feature such as AppendChild(). Other members
- are untested (such as RejectChanges()).
+ XslCompiledtransform seems almost the same as System.Xml.Xsl.XslTransform,
+ but this class transforms documents twice to four times as fast as
+ XslTransform. Instead, stylesheet compilation is much slower, because
+ it generates compiled stylesheet assembly.
-**** extra stuff - XPathEditableDocument
- Currently we provide another IXPathEditable; XPathEditableDocument. That is
- based on the idea that handles XmlDocument as editor target. It is
- implemented as Mono.Xml.XPath.XPathEditableDocument. We might provide this
- class as extra set (might be different mono-specific XML assembly).
+** External assemblies for Mono 2.0
-**** System.Xml.XQuery
+*** Mono.Xml.Ext
- In this namespace, there are two significant classes. XsltCommand and
- XQueryCommand.
+ (<strong>IMPORTANT</strong>: There used to be System.Xml.Query.XQueryCommand
+ class that implemented XQuery, but now Microsoft dropped it for .NET 2.0.
+ So we moved them out to external assembly named Mono.Xml.Ext.dll, but I
+ haven't changed thing so much when I just extracted them. Thus, this
+ section is kept as is, and basically old stuff.)
- XsltCommand implements XSLT transformation. It is almost the same as
- System.Xml.Xsl.XslTransform, but this class transforms documents twice
- to four times as fast as XslTransform. Instead, stylesheet compilation
- is much slower, because it generates compiled stylesheet assembly.
+ Mono.Xml.Ext.dll contains mainly XQuery implementation, and some utility
+ classes.
XQueryCommand implements XQuery. XQuery is a new face XML document
manipulation language (at least new face in .NET world). It is similar
@@ -407,7 +427,7 @@
http://sourceforge.net/projects/dotnetopensrc/</a>). With a few changes,
it can be used with mono.
- We also don't have multi-language based validation support, namely
+ We don't have multi-language based validation support, namely
Namespace-based Validation Dispatch Language (NVDL). To support unwrapping,
one special XmlReader implementation is required (other schema validation
support can be done by ReadSubtree()). Note that we had seen RELAX
@@ -415,7 +435,7 @@
- that is, standardization effort is still ongoing (though NVDL looks
mostly the same as NRL).
- In Mono 1.2, there might be improvements on Commons.Xml.Relaxng.
+ In Mono 2.0, there might be improvements on Commons.Xml.Relaxng.
<ul>
* Currently RelaxngPattern.Compile() provides cheap compilation
@@ -440,6 +460,8 @@
See <a href="ado-net.html">ADO.NET page</a>.
+ Note that xsd.exe does not support XmlSchemaInference in System.Xml 2.0.
+
** Miscellaneous
@@ -459,6 +481,6 @@
Note that you still need System.dll to run mcs.
- Atsushi Eno <asushi@ximian.com>
- last updated 09/02/2004
+ Atsushi Eno <atsushi@ximian.com>
+ last updated 11/29/2004