From: Petr C. <pci...@us...> - 2004-09-27 09:03:45
|
Update of /cvsroot/perl-xml/sax-perl-org In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31264 Modified Files: changes-2.1 index.html Added Files: changes-2.1.html changes-2.1.xml changes.css changes.xsl Log Message: Changes turned into xml/html --- NEW FILE: changes-2.1.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Perl SAX 2.1 Changes and Issues</title> <link href="changes.css" rel="STYLESHEET" type="text/css" /> </head> <body> <h1>Perl SAX 2.1 Changes and Issues</h1> <p> The development of <a href="http://perl-xml.sourceforge.net/perl-sax/">Perl SAX 2.1</a> API is in progress. Comments should be sent to Perl-XML mailing list (per...@li...). </p> <h2>Changes from Perl SAX 2.0</h2> <p class="change"> <b>Change <a name="C1">C1</a> </b> <i></i> <br /> XMLVersion and Encoding fields added to document locator (as in Locator2 interface of SAX 2.0 Ext. 1.1) </p> <p class="change"> <b>Change <a name="C2">C2</a> </b> <i> [resolves issue <a href="#I4">I4</a>]</i> <br /> The definition of parse() unified in the Basic and Advanced documents. parse_uri() added. The new definition fits to the current XML::SAX::Base implementation (as of XML::SAX v0.12). </p> <p class="change"> <b>Change <a name="C3">C3</a> </b> <i> [resolves issue <a href="#I6">I6</a>]</i> <br /> Changes in attribute_decl(): ValueDefault renamed to Mode. The new name is less confusing and corresponds to SAX Java API. </p> <h2>Summary of Issues</h2> <p class="open"> <b>Issue <a name="I1">I1</a> </b> <i> status: open, resolution: none</i> <br /> A parser should advertise SAX version it supports. There can be a new method ($parser->get_sax_version()) or a read-only feature (http://xmlns.perl.org/sax/version). This feature should be introduced also to Perl SAX 2.0 retrospectively to distinguish between 1.0, 2.0 and 2.1 drivers. <br /> </p> <p class="open"> <b>Issue <a name="I2">I2</a> </b> <i> status: open, resolution: none</i> <br /> "http://xml.org/sax/handlers/LexicalHandler" feature on the parser needs to be set to the object to receive lexical events currently. If the reader does not support lexical events, it will throw a XML::SAX::Exception::NotRecognized or a XML::SAX::Exception::NotSupported when you attempt to register the handler. DeclHandler works in the same way. Actually, this is a theory - XML::SAX::Base doesn't implement this currently. <br /> This approach is very different from the common PerlSAX mechanism: look for a specific handler, then look for a handler method on the default handler, ignore the callback when not found. It would be more 'perlish' to apply this simple mechanism to LexicalHandler and DeclHandler too. If we want these two be extension handlers (compliant 2.1 parsers are not required to support them) there could be read-only features to let apps to know whether extension handlers are supported o not (http://xmlns.perl.org/sax/LexicalHandler, DeclHandler). <br /> </p> <p class="open"> <b>Issue <a name="I3">I3</a> </b> <i> status: open, resolution: none</i> <br /> SAX 2.0 Ext. 1.1 has a new Attributes2 interface which extends attributes with new properties (Declared, Specified) to distinguish between attributed specified in an XML doc and those declared in DTD. This could be introduced into Perl SAX 2.1 as an optional extension (advertised by a feature). <br /> </p> <p class="decided"> <b>Issue <a name="I4">I4</a> </b> <i> status: decided, resolution: applied [resolved as change <a href="#C2">C2</a>]</i> <br /> The parse() method is defined in different ways in the Basic and Advanced documents. Proposed solution: to add an explicit parse_uri() method, parse() would call either parse_uri(), parse_string(), or parse_stream() based on InputSource. <br /> </p> <p class="open"> <b>Issue <a name="I5">I5</a> </b> <i> status: open, resolution: none</i> <br /> All hash references could be replaced with blessed classes. Need to clarify what would be benefits of such change. <br /> </p> <p class="decided"> <b>Issue <a name="I6">I6</a> </b> <i> status: decided, resolution: applied [resolved as change <a href="#C3">C3</a>]</i> <br /> Changes in attribute_decl eName, aName, Type, Mode (was ValueDefault), Value <br /> </p> <p class="open"> <b>Issue <a name="I7">I7</a> </b> <i> status: open, resolution: none</i> <br /> The effect of turning off namespace processing is unclear in Perl SAX. The spec should state that all namespace-related processing is skipped, and no namespace-related information is made available. <br /> Suggestion: All node keys are always present, NamespaceURI, Prefix and LocalName are undef. Attributes keys are prefixed with {} (for example {}pfx:lname). NS declarations are treated as common attributes. <br /> </p> <p class="open"> <b>Issue <a name="I8">I8</a> </b> <i> status: open, resolution: none</i> <br /> Perl SAX should require explicitly all event data to be Unicode strings (to have the UTF-8 flag on). <br /> </p> </body> </html> --- NEW FILE: changes-2.1.xml --- <?xml version="1.0"?> <change-log xmlns="http://sax.perl.org/changeLog"> <title>Perl SAX 2.1 Changes and Issues</title> <description> The purpose of this file is to record changes done from Perl SAX 2.0 and to track related issues.</description> <change-list> <change id="C1" issue-ref=""> XMLVersion and Encoding fields added to document locator (as in Locator2 interface of SAX 2.0 Ext. 1.1) </change> <change id="C2" issue-ref="I4"> The definition of parse() unified in the Basic and Advanced documents. parse_uri() added. The new definition fits to the current XML::SAX::Base implementation (as of XML::SAX v0.12). </change> <change id="C3" issue-ref="I6"> Changes in attribute_decl(): ValueDefault renamed to Mode. The new name is less confusing and corresponds to SAX Java API. </change> </change-list> <issue-list> <issue id="I1" status="open" resolution="none" change-ref=""> <para> A parser should advertise SAX version it supports. There can be a new method ($parser->get_sax_version()) or a read-only feature (http://xmlns.perl.org/sax/version). This feature should be introduced also to Perl SAX 2.0 retrospectively to distinguish between 1.0, 2.0 and 2.1 drivers. </para> </issue> <issue id="I2" status="open" resolution="none" change-ref=""> <para> "http://xml.org/sax/handlers/LexicalHandler" feature on the parser needs to be set to the object to receive lexical events currently. If the reader does not support lexical events, it will throw a XML::SAX::Exception::NotRecognized or a XML::SAX::Exception::NotSupported when you attempt to register the handler. DeclHandler works in the same way. Actually, this is a theory - XML::SAX::Base doesn't implement this currently. </para> <para> This approach is very different from the common PerlSAX mechanism: look for a specific handler, then look for a handler method on the default handler, ignore the callback when not found. It would be more 'perlish' to apply this simple mechanism to LexicalHandler and DeclHandler too. If we want these two be extension handlers (compliant 2.1 parsers are not required to support them) there could be read-only features to let apps to know whether extension handlers are supported o not (http://xmlns.perl.org/sax/LexicalHandler, DeclHandler). </para> </issue> <issue id="I3" status="open" resolution="none" change-ref=""> <para> SAX 2.0 Ext. 1.1 has a new Attributes2 interface which extends attributes with new properties (Declared, Specified) to distinguish between attributed specified in an XML doc and those declared in DTD. This could be introduced into Perl SAX 2.1 as an optional extension (advertised by a feature). </para> </issue> <issue id="I4" status="decided" resolution="applied" change-ref="C2"> <para> The parse() method is defined in different ways in the Basic and Advanced documents. Proposed solution: to add an explicit parse_uri() method, parse() would call either parse_uri(), parse_string(), or parse_stream() based on InputSource. </para> </issue> <issue id="I5" status="open" resolution="none" change-ref=""> <para> All hash references could be replaced with blessed classes. Need to clarify what would be benefits of such change. </para> </issue> <issue id="I6" status="decided" resolution="applied" change-ref="C3"> <para> Changes in attribute_decl eName, aName, Type, Mode (was ValueDefault), Value </para> </issue> <issue id="I7" status="open" resolution="none" change-ref=""> <para> The effect of turning off namespace processing is unclear in Perl SAX. The spec should state that all namespace-related processing is skipped, and no namespace-related information is made available. </para> <para> Suggestion: All node keys are always present, NamespaceURI, Prefix and LocalName are undef. Attributes keys are prefixed with {} (for example {}pfx:lname). NS declarations are treated as common attributes. </para> </issue> <issue id="I8" status="open" resolution="none" change-ref=""> <para> Perl SAX should require explicitly all event data to be Unicode strings (to have the UTF-8 flag on). </para> </issue> </issue-list> </change-log> --- NEW FILE: changes.css --- p { padding: 2px 5px 2px 5px; } .change { border: solid 1px #999999; background-color: #bbbbbb; } .open { border: solid 1px #999999; background-color: #ffbbbb; } .decided { border: solid 1px #999999; background-color: #bbffbb; } .closed { border: solid 1px #999999; background-color: #bbbbff; } --- NEW FILE: changes.xsl --- <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:chg="http://sax.perl.org/changeLog" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="chg"> <xsl:output method="xhtml" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/> <xsl:template match="/chg:change-log"> <html> <head> <title>Perl SAX 2.1 Changes and Issues</title> <link href="changes.css" rel="STYLESHEET" type="text/css"/> </head> <body> <h1>Perl SAX 2.1 Changes and Issues</h1> <p> The development of <a href="http://perl-xml.sourceforge.net/perl-sax/">Perl SAX 2.1</a> API is in progress. Comments should be sent to Perl-XML mailing list (per...@li...). </p> <h2>Changes from Perl SAX 2.0</h2> <xsl:apply-templates select="chg:change-list/chg:change"/> <h2>Summary of Issues</h2> <xsl:apply-templates select="chg:issue-list/chg:issue"/> </body> </html> </xsl:template> <xsl:template match="chg:change"> <p class="change"> <b> <xsl:text>Change </xsl:text> <a name="{@id}"> <xsl:value-of select="@id"/> </a> </b> <i> <xsl:if test="@issue-ref != ''"> <xsl:text> [resolves issue </xsl:text> <a href="#{@issue-ref}"> <xsl:value-of select="@issue-ref"/> </a> <xsl:text>]</xsl:text> </xsl:if> </i> <br /> <xsl:value-of select="text()"/> </p> </xsl:template> <xsl:template match="chg:issue"> <p class="{@status}"> <b> <xsl:text>Issue </xsl:text> <a name="{@id}"> <xsl:value-of select="@id"/> </a> </b> <i> <xsl:text> status: </xsl:text> <xsl:value-of select="@status"/> <xsl:text>, resolution: </xsl:text> <xsl:value-of select="@resolution"/> <xsl:if test="@change-ref != ''"> <xsl:text> [resolved as change </xsl:text> <a href="#{@change-ref}"> <xsl:value-of select="@change-ref"/> </a> <xsl:text>]</xsl:text> </xsl:if> </i> <br /> <xsl:for-each select="chg:para"> <xsl:value-of select="text()"/> <br /> </xsl:for-each> </p> </xsl:template> </xsl:stylesheet> Index: changes-2.1 =================================================================== RCS file: /cvsroot/perl-xml/sax-perl-org/changes-2.1,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- changes-2.1 6 Aug 2004 10:23:38 -0000 1.2 +++ changes-2.1 27 Sep 2004 09:03:18 -0000 1.3 @@ -1,89 +1,4 @@ -======================================= -= Perl SAX 2.1 Changes and Issues = -======================================= - -The purpose of this file is to record changes done from Perl SAX 2.0 -and to track related issues. - - ---------------------------------------- -Changes ---------------------------------------- - - -[C1] XMLVersion and Encoding fields added to document locator -(as in Locator2 interface of SAX 2.0 Ext. 1.1) - - -[C2] (issue I4) The definition of parse() unified in the Basic and -Advanced documents. parse_uri() added. The new definition fits to -the current XML::SAX::Base implementation (as of XML::SAX v0.12). - - -[C3] (issue I6) Changes in attribute_decl(): ValueDefault renamed -to Mode. The new name is less confusing and corresponds to SAX -Java API. - - ---------------------------------------- -Issues ---------------------------------------- - - -[I1] Resolution: none ---------------------------------------- -A parser should advertise SAX version it supports. There can be -a new method ($parser->get_sax_version()) or a read-only feature -(http://xmlns.perl.org/sax/version). This feature should be introduced -also to Perl SAX 2.0 retrospectively to distinguish between 1.0, 2.0 -and 2.1 drivers. - - -[I2] Resolution: none ---------------------------------------- -"http://xml.org/sax/handlers/LexicalHandler" feature on the parser -needs to be set to the object to receive lexical events currently. If -the reader does not support lexical events, it will throw -a XML::SAX::Exception::NotRecognized or a -XML::SAX::Exception::NotSupported when you attempt to register the -handler. DeclHandler works in the same way. Actually, this is a theory -- XML::SAX::Base doesn't implement this currently. - -This approach is very different from the common PerlSAX mechanism: -look for a specific handler, then look for a handler method on the -default handler, ignore the callback when not found. It would be more -'perlish' to apply this simple mechanism to LexicalHandler and -DeclHandler too. If we want these two be extension handlers (compliant -2.1 parsers are not required to support them) there could be read-only -features to let apps to know whether extension handlers are supported -o not (http://xmlns.perl.org/sax/LexicalHandler, DeclHandler). - - -[I3] Resolution: none ---------------------------------------- -SAX 2.0 Ext. 1.1 has a new Attributes2 interface which extends -attributes with new properties (Declared, Specified) to distinguish -between attributed specified in an XML doc and those declared in -DTD. This could be introduced into Perl SAX 2.1 as an optional -extension (advertised by a feature). - - -[I4] Resolution: applied as [C2] ---------------------------------------- -The parse() method is defined in different ways in the Basic and -Advanced documents. -Proposed solution: to add an explicit parse_uri() method, parse() -would call either parse_uri(), parse_string(), or parse_stream() -based on InputSource. - - -[I5] Resolution: none ---------------------------------------- -All hash references could be replaced with blessed classes. Need to -clarify what would be benefits of such change. - +This document is deprecated. +It has been replaced with changes-2.1.html +as of September 27, 2004. -[I6] Resolution: applied as [C3] ---------------------------------------- -Changes in attribute_decl -eName, aName, Type, Mode (was ValueDefault), Value \ No newline at end of file Index: index.html =================================================================== RCS file: /cvsroot/perl-xml/sax-perl-org/index.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- index.html 6 Aug 2004 10:23:38 -0000 1.4 +++ index.html 27 Sep 2004 09:03:18 -0000 1.5 @@ -16,7 +16,7 @@ hosted by <a href="http://www.sourceforge.net/">Sourceforge</a>. </div> <div> - <div class="SubTitle">SAX 2.0</div> + <div class="SubTitle">Perl SAX 2.0</div> Current stable version of Perl SAX is 2.0. The API is defined by the following documents: <ul> @@ -27,13 +27,13 @@ </ul> </div> <div> - <div class="SubTitle">SAX 2.1</div> + <div class="SubTitle">Perl SAX 2.1</div> The version 2.1 is under development: <ul> <li><a href="sax-2.1.html">Perl SAX 2.1 Binding</a></li> <li><a href="sax-2.1-adv.html">Perl SAX 2.1 Advanced</a></li> <li><a href="sax-2.1-ref.html">Perl SAX 2.1 Reference</a> (an indexed view of the two above docs)</li> - <li><a href="changes-2.1">Changes and Issues</a></li> + <li><a href="changes-2.1.html">Changes and Issues</a></li> </ul> </div> <div> @@ -44,4 +44,4 @@ </div> </body> -</html> \ No newline at end of file +</html> |