- From: Pavithran <pavithran.a@ap.sony.com>
- Date: Wed, 2 Oct 2002 15:13:07 +0530
- To: <www-dom@w3.org>
- Cc: "Boris Zbarsky" <bzbarsky@MIT.EDU>, "Christian Parpart" <cparpart@surakware.net>
- Message-ID: <003a01c269f8$1cebb350$8401a8c0@pavithrana>
Hi All, I need help to understand namespaceNormalization() algorithm given in DOM level 3 specifications,i have given my understanding also plz correct my understanding if i am wrong,For u people these questions might be very silly void Element.normalizeNamespaces() { if ( Element's namespaceURI != null ) { if ( Element's prefix/namespace pair (or default namespace,if no prefix) are within the scope of a binding ) { ==> do nothing, declaration in scope is inherited ????? > if namespace is already declared in the current element or in ancestors do nothing am i correct ????? } else { ==> Create a local namespace declaration attr for this namespace,with Element's current prefix (or a default namespace, if no prefix). >if the namespace is not declared create an Attr for namespace declaration ==>If there's a conflicting local declaration already present, change its value to use this namespace. >if already any other namespace declaration with same prefix present...change its value to use this name ???? ?> Here i have a question suppose i have attribute attX which is using the conflicting local declaration (which is going to be changed as mentioned above) What shall i do here?shall i change the prefix of attrX...suggest me, } } for ( all Attrs of Element ) { if ( Attr[i] has a namespace URI ) { if ( Attr has no prefix, or has a prefix that conflicts with a binding already active in scope ) ?????>" has a prefix that conflicts with a binding already active in scope " what it means? { ??????????>can u explain the following conditions? if ( Element is in the scope of a non default binding for this namespace ) { if ( one or more prefix bindings are available ) { if ( one is locally defined ) { ==> pick that one. } else { ==> pick one arbitrarily } ==> Change the Attr to use that prefix. } else { ==> Create a local namespace declaration attr for this namespace with a prefix not already used in the current scope and following the pattern "NS" + index (starting at 1). Change the Attr to use this prefix. } } } Thanks in advance, Regards, pavithran
Received on Wednesday, 2 October 2002 05:40:15 UTC