2005-11-16 Wakaba * PerlCode.dis: A test code added. Typos in |ISA| properties fixed. (PerlSub.stringify): Generates prototype specification even if |prototype| attribute value's length is zero in case the |pc:prototype| attribute /is/ found. 2005-11-15 Wakaba * Makefile: Missing rule to make |Message/DOM/core.dae| added. 2005-11-15 Wakaba * Makefile: Rules to make |DIS/Test.pm| added. |DIS/common.dis| rules added. * DIS.dis (DIS:): Removed (moved to |DIS/common.dis|). 2005-11-13 Wakaba * PerlCode.dis (PCList, PCArrayRefLiteral, PCHashRefLiteral): New interfaces. (createPCLiteral, appendNewPCLiteral): New methods. (PCDocument): New interface. (factory methods): Namespace URI and local name of document element arguments added to |createDocument| to obtain an instance of |PCDocument|. 2005-10-16 Wakaba * PerlCode.dis (pc:line): New configuration parameter. (stringify): Don't output "#line" directive unless "pc:line" parameter is set to "true". (pc:split-resolver): New configuration parameter. 2005-10-14 Wakaba * ManakaiNode.dis (anydata0): New property type. * PerlCode.dis (stringify): Prints node id if file name is not available. (perlLiteral): Prints as is if the value is blessed with "manakai::code" package. 2005-10-13 Wakaba * PerlCode.dis (CDATADOMString): Changed to use code fragment defined in DOMCore module directly. 2005-10-12 Wakaba * PerlCode.dis (ForClassCompat): Removed. * ManakaiNode.dis (ManakaiDOMNodeObject, ManakaiDOMNodeReference): Removed. (newNode): New method. (generateUniqueID): Algorithm has changed to save random string generation time. * DIS.dis (AUTOLOAD): "$Error::Level" fixed to "$Error::Depth". 2005-10-11 Wakaba * PerlCode.dis (IfClsDef, IFClsETDef): New version of classes based on DOMCore and element type definitions added. (localName): Renamed to "pcLocalName" to avoid conflict with "Node.localName" attribute. 2005-10-10 Wakaba * DIS.dis (Require): Unused reference to "PerlCode.dis" removed. * Makefile: Rules to make "PerlCode.pm" separated from ones for "DIS.pm". * ManakaiNode.dis (mn:unsetXRefNode): "$referent" parameter is replaced with "$referrer->{$propName}". * PerlCode.dis (Require): References "DOMCore.dis". (DefaultFor): Changed to "ManakaiDOM:ManakaiDOMLatest". (Util: for ManakaiDOM:ManakaiDOM): New. 2005-10-09 Wakaba * ManakaiNode.dis: New "mn:xrefnode0" property type has been introduced and methods are fixed to support it. (mn:setXRefNode, mn:unsetXRefNode): New codes. * DIS.dis (loadResource): Skips a root resource definition if it is an alias and it has "dis:Name" attribute and referenced canonical definition is already read. (Note that similar case that the resource definition has "dis:QName" attribute is already fixed in the same way.) 2005-10-08 Wakaba * DIS.dis (readProperties): Recognizes hexdecimal in "DISCore:Integer" (prefixed by "0x"). 2005-10-08 Wakaba * PerlCode.dis (getExceptionInterfacePackageNameList, addExceptionInterfacePackageName): New methods. (ToString): Sorts hash keys where they result in the order of statements in result code. * Error.pm ($DEBUG): New option variable. (___get_error_def): Calls "___error_def" method in second or later "@ISA" package even if elder package has "___error_def" method. * DIS.dis: Now constant values are only defined in interfaces. (DIS:NO_EXCEPTION_CLASS_ERR): New exception subcode. 2005-10-06 Wakaba * DIS.dis (getAnyResourceURIList, getModuleURIList): New methods. 2005-10-02 Wakaba * DIS.dis (getAnyResource): New method. (isTypeURI): Now it is a method of "DIS:DISAnyResource" interface. (getPropertyResource, getPropertyResourceList): Now they uses "getAnyResource" method. (getPropertyModuleList): Removed. 2005-09-30 Wakaba * DIS.dis (readProperties): Saves property name to values. (getPropertyModuleList): New method. 2005-09-29 Wakaba * DIS.dis: Shares local name, namespace URI and for URI if possible. * PerlCode.dis (stringify): Sorts "require" statements by module name. 2005-09-28 Wakaba * PerlCode.dis (perlLiteral): Sorts output by hash key. * ManakaiNode.dis (new): Sets "mn:groveReferenceCounter" property. (getNewReference): Increments "mn:groveReferenceCounter" property. (ManakaiDOM:ManakaiDOMNodeObject, ManakaiNodeStem): Don't check "defined" to allow "undef" value in "while" condition. (mn:isGroveReferenced): New code. (changeTreeID): New "groveRC" parameter added. (importTree, changeTreeID): Updates "mn:groveReferenceCounter" properties. (destroy): Uses "mn:isGroveReferenced" instead of "isExternallyReferred". (mn:groveReferenceCounter): New property. 2005-09-28 Wakaba * DIS.dis: Use "tag:" URI for internal URIs. 2005-09-27 Wakaba * ManakaiNode.dis (ManakaiNodeStem->new): Don't set "TreeCore:*" properties. (generateUniqueID): Use "tag:" URI. * DIS.dis (targetNamespaceURI): New attribute. (ManakaiDISModuleLite): Extends dx:ManakaiDefaultErrorHandler. (ManakaiDISModuleLite->AUTOLOAD): Don't load module if method name is "DESTROY". 2005-09-27 Wakaba * ManakaiNode.dis (ManakaiNodeStem): Use per-class variable for searching noderel properties instead of per-node properties. 2005-09-26 Wakaba * ManakaiNode.dis (new): New "className" parameter added. (mn:NodeRefRole): New role. (mn:type): New property. (mn:subnode0, mn:subnode1, mn:subnode2, mn:irefnode0, mn:origin0, mn:anydata1, mn:anydata2, mn:noderef): New properties. * Makefile: Rules to make "DIS/DISDump" is separeted from "DIS/DISDoc". * DIS.dis (getFor): Loads database module if unread "for" is referenced. (addResourceList, getResourceList): New method. (ManakaiDISModuleLite): New class. 2005-09-25 Wakaba * DIS.dis (RESOURCE_NOT_DEFINED_ERR): New error code. (getResource): New "dae" and "daem" database format support. (DISResourceList): New type. (uriRef, ownerModuleURI, ownerModuleURIRef): New attributes. (addChildResource, addDynamicChildResource): New methods. (getChildResourceList, getDynamicChildResourceList): New method. (getChildResourceListByType): New method. (parentResource, dynamicParentResource): New attributes. * Makefile (DAC_SUFFIX): Changed to ".dae". (DAEM_SUFFIX): New. 2005-09-24 Wakaba * ManakaiNode.dis: Use "disPerl:H" instead of "disPerl:Q" for hash keys. (NodeStem): Property value "mn:treeID" has changed to scalar reference. 2005-09-24 Wakaba * ManakaiNode.dis (mn:node, mn:nodeID, mn:treeID): New properties. (mn:stemName, mn:refName): New properties. * Makefile (.discore-all.pm): New rule to create dis-related Perl module files at once. * DIS.dis (PERL_HASH_KEY_ALREADY_DEFINED_ERR): New error code. (hashKeyName, hashKeyScope, anotherURI): New error parameters. * ManakaiNode.dis, DIS.dis, PerlCode.dis: Use "disPerl:H" instead of "disPerl:Q" for hash keys. 2005-09-23 Wakaba * DIS.dis (DISParser.new): New method. (hasFeature): Removed. ManakaiDISAnyResource now extends DOMFeature:ManakaiHasFeatureByGetFeature. (readProperties): Support for property value data types DISLang:MemberRef and dx:XCRef added. (ManakaiDISExceptionTarget): It is now an alias for dx:ManakaiDefaultExceptionHandler. 2005-09-22 Wakaba * Makefile: DAC_SUFFIX changed to ".dad". * DIS.dis (Util:): Added for DIS|ForEmpty and DIS|ForLatest. (disIsNullable): Reimplemented. 2005-09-21 Wakaba * DIS.dis (addNamespaceBinding): New method. 2005-09-20 Wakaba * DIS.dis: Use valueRef and nodeIDRef where possible so that dad file can share text data if possible. For resources, {subOf} and {supOf} is now optional. (sourceNodeIDRef): New attribute. 2005-09-19 Wakaba * DIS.dis: Parameter "databaseArg" added to various methods to support objects that have no associated database. (getNamespaceBindingList, getDefaultNamespaceURIRef): New methods. (NO_RDF_TYPE_ERR): New error type. (loadResource): Throws NO_RDF_TYPE_ERR if no rdf:type attribute specified for a resource definition. 2005-09-16 Wakaba * DIS.dis (DISResourceProp): Methods reimplemented to support DIS/Value values. 2005-09-15 Wakaba * DIS.dis (readProperties): New methods. Emploies DIS/Value classes for internal data structure. 2005-09-14 Wakaba * DIS.dis: Now references DIS/Value.dis. (DISAnyResource): New interface separeted from DISModule. DISFor and DISResource. 2005-09-13 Wakaba * DIS.dis: Perl-related methods are moved to a separate module "DIS/Perl.dis". 2005-09-08 Wakaba * Makefile: Renewaled. * ManakaiNode.dis (free): New method. 2005-09-07 Wakaba * DIS.dis: Interfaces added. (free): New method. * PerlCode.dis: Interfaces added. 2005-09-06 Wakaba * DIS.dis (plName): Use AppName attribute, if any, for ManakaiDOM:ConstGroup resources. 2005-09-05 Wakaba * DIS.dis (plGeneratePerlModuleFile): Don't generate code for the same class or variable twice whose alias is defined in the same module. 2005-09-04 Wakaba * PerlCode.dis (ManakaiPerlSub.IntClone): Copies pc:localName and pc:prortotype properties. * DIS.dis (plAdditionalISAPackages): New attribute. 2005-09-01 Wakaba * DIS.dis (plCodeFragment): The ManakaiDOM:boolean datatype supported. 2005-08-31 Wakaba * DIS.dis (uris): New attribute. 2005-08-30 Wakaba * DIS.dis (plFilePathStem): New attribute. 2005-08-29 Wakaba * DIS.dis (plFileNameStem): New attribute. 2005-08-28 Wakaba * DIS.dis (plCodeFragment): Type ManakaiDOM:InCase supported. 2005-08-26 Wakaba * DIS.dis: Typo fixed for replacing namespace URI and local name in reflecting code. (mvLocalName, mvNamespaceURI): Use "localName" and "namespaceURI" attribute values as their default. (mvPrefix, qnameValuePrefix): New attributes. * ManakaiNode.dis: Tests whether "defined" rather than true or not in "while" conditions. 2005-08-15 Wakaba * ManakaiNode.dis (Util:): Now Perl package name for interfaces is defined. * DIS.dis (mediaTypeURI): Returns $defaultMediaType parameter value if dis:ContentType attribute is missing. * ManakaiNode.dis (importTree): Use "isa" function to check whether a object is an instance of the manakai node model. (NodeStem, NodeRef): New lightweight variant of ManakaiDOM:ManakaiDOMNodeObject and ManakaiDOM:ManakaiDOMNodeReference. 2005-05-29 Wakaba * DIS.dis (plGeneratePerlModuleFile): Bug fixed so that even if DOMMetaImpl:provideFeature has child nodes but they are not DOMMetaImpl:providedThrough a ImplFeature statement is generated. (plCodeFragment): Bug fixed so that dis:SetProp works correctly. 2005-05-26 Wakaba * Makefile: Rules for DISDoc module added. 2005-05-23 Wakaba * DIS.dis (ManakaiDISResourceDefinition, ManakaiDISForDefinition, ManakaiDISModuleDefinition): "getFeature" method added. 2005-03-06 Wakaba * DIS.dis (Require): Loads PerlCode module. 2005-03-05 Wakaba * PerlCode.dis: Operator overloading is implemented. 2005-03-04 Wakaba * ManakaiNode.dis: Checks type, to support SuikaWikiConfig21 module's binding properties. 2005-03-03 Wakaba * PerlCode.dis: New module. 2005-02-26 Wakaba * DIS.dis (DISModuleResolver): New interface. 2005-02-21 Wakaba * DIS.dis: New module. * ManakaiNode.dis: New "subnode0" property category introduced. 2005-02-17 Wakaba * ManakaiNode.dis: New module. 2005-01-05 Wakaba * Error.pm (___rule_def[p]): Don't output anything if not exists that parameter. 2004-09-30 Wakaba * Error.pm (___rule_def): "p" added; now "t" is obsolete. 2004-04-02 Wakaba * Error.pm (report): Error depth fixed. (___rule_def:t): New parameters empty and undef introduced. 2004-01-17 Wakaba * Error.pm: Some fixes w.r.t. Error::Depth. 2003-12-06 Wakaba * Error.pm (___error_def): Renamed from ___errors. 2003-12-01 Wakaba * Error.pm (___get_error_def): Now support inherit. (It was not work.) 2003-11-15 Wakaba * Error.pm: Use Message::Util::Formatter::Text to construct error messages. 2003-11-13 Wakaba * Formatter: New directory. 2003-11-12 Wakaba * Error.pm: Rewritten. 2003-10-25 Wakaba * Formatter.pm (replace): Allow '%foo () ;'. 2003-09-17 Wakaba * HostPermit.pm: New module. 2003-08-05 Wakaba * Error.pm (_default_error_handler): Syntax fix. * Error/: New directory. 2003-07-29 Wakaba * Error.pm: New module. 2003-05-10 Wakaba * Formatter.pm (replace): Bug fix of pattern. 2003-04-29 Wakaba * Formatter.pm (replace): {...} block is supported. (Message::Util::Formatter::_returned): New package. It is very very tiny subset of SuikaWiki::Markup::XML. (replace): Return structured string, not bare string. This function is useful to make tree (such as XML's) from formatting template (and its nested parameters). 2003-03-28 Wakaba * Formatter.pm (replace): Treat oo of "str"oo of attr value as option and parse attr value if 'p' option is specified. (replace): Replace '-' to '_' in attr name. 2003-01-26 Wakaba * Formatter.pm (replace): Trim attribute name/value pair. 2003-01-04 Wakaba * Formatter.pm (replace): Don't split by ',' in quoted-strings. 2002-12-15 Wakaba * Formatter.pm (%char;): Removed. 2002-12-05 Wakaba * Formatter.pm (%FMT2TXT): New (internal) initial format rule, "-bare_text". (replace): "Replace" non-%-text with "-bare_text" rule. (pod): Methods and initial rules are documented. 2002-12-04 Wakaba * Formatter.pm (replace): Accept ")" in quoted-string. 2002-11-13 Wakaba * ChangeLog: New file. * Formatter.pm: New module.