vgritsenko    2002/08/14 20:13:46

  Modified:    .        Tag: cocoon_2_0_3_branch changes.xml
               .        changes.xml
               src/java/org/apache/cocoon/xml/xlink Tag:
                        cocoon_2_0_3_branch ExtendedXLinkPipe.java
  Log:
  In addition to attributes in same namespace with elements,
  link serializer reacts on non-namespaced attributes too. This allows
  processing of (strict) XHTML.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.138.2.46 +6 -1      xml-cocoon2/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/changes.xml,v
  retrieving revision 1.138.2.45
  retrieving revision 1.138.2.46
  diff -u -r1.138.2.45 -r1.138.2.46
  --- changes.xml       11 Aug 2002 20:18:39 -0000      1.138.2.45
  +++ changes.xml       15 Aug 2002 03:13:46 -0000      1.138.2.46
  @@ -39,6 +39,11 @@
    </devs>
   
    <release version="@version@" date="@date@">
  +  <action dev="VG" type="update">
  +    In addition to attributes in same namespace with elements,
  +    link serializer reacts on non-namespaced attributes too. This allows
  +    processing of (strict) XHTML.
  +  </action>
     <action dev="CH" type="add">
      Backport usage of InputModules to compiled sitemap.
     </action>
  
  
  
  1.234     +6 -1      xml-cocoon2/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/changes.xml,v
  retrieving revision 1.233
  retrieving revision 1.234
  diff -u -r1.233 -r1.234
  --- changes.xml       13 Aug 2002 02:37:29 -0000      1.233
  +++ changes.xml       15 Aug 2002 03:13:46 -0000      1.234
  @@ -39,6 +39,11 @@
    </devs>
   
    <release version="@version@" date="@date@">
  +  <action dev="VG" type="update">
  +    In addition to attributes in same namespace with elements,
  +    link serializer reacts on non-namespaced attributes too. This allows
  +    processing of (strict) XHTML.
  +  </action>
     <action dev="VG" type="update" fixes-bug="10697">
      Changed default persistence store to the JispFilesystemStore.
      To switch back to FilesystemStore, remove jisp.jar and rebuild Cocoon
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.4.2.1   +38 -14    
xml-cocoon2/src/java/org/apache/cocoon/xml/xlink/ExtendedXLinkPipe.java
  
  Index: ExtendedXLinkPipe.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/xml/xlink/ExtendedXLinkPipe.java,v
  retrieving revision 1.4
  retrieving revision 1.4.2.1
  diff -u -r1.4 -r1.4.2.1
  --- ExtendedXLinkPipe.java    22 Feb 2002 07:03:59 -0000      1.4
  +++ ExtendedXLinkPipe.java    15 Aug 2002 03:13:46 -0000      1.4.2.1
  @@ -58,42 +58,67 @@
    * This class extends the XLink semantic capabilities to understand those
    * elements that are have default linking semantics associated.
    *
  - * This class reacts on 'href' and 'src' attributes and is able to understand
  - * the semantics of XHTML/WML/SMIL/SVG and all the rest of the languages that
  - * use either XLink of the above attributes.
  + * This class reacts on 'href', 'src', and 'background' attributes and is able
  + * to understand the semantics of XHTML/WML/SMIL/SVG and all the rest of the
  + * languages that use either XLink of the above attributes.
    *
  - * NOTE: this class is clearly a hack and is not future compatible, but
  + * <p>NOTE: this class is clearly a hack and is not future compatible, but
    * since many XML formats to date are not compatible with the XLink semantics
    * this is what we have to do to live in the bleeding edge. Once there will
    * be a way to remove this, that will be a happy day for XML and for Cocoon too.
  + * </p>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
  + * @author <a href="mailto:[EMAIL PROTECTED]";>Vadim Gritsenko</a>
    * @version CVS $Id$
    */
  -
   public abstract class ExtendedXLinkPipe extends XLinkPipe {
   
       public void startElement(String uri, String name, String raw, Attributes attr) 
throws SAXException {
  -        if (uri == null) {
  +        if (uri != null) {
  +            // Get namespaced attributes
  +
  +            String href = attr.getValue(uri, "href");
  +            if (href != null) {
  +                simpleLink(href, null, null, null, null, null, uri, name, raw, 
attr);
  +                return;
  +            }
  +
  +            String src = attr.getValue(uri, "src");
  +            if (src != null) {
  +                simpleLink(src, null, null, null, null, null, uri, name, raw, attr);
  +                return;
  +            }
  +
  +            String background = attr.getValue(uri, "background");
  +            if (background != null) {
  +                simpleLink(background, null, null, null, null, null, uri, name, 
raw, attr);
  +                return;
  +            }
  +        } else {
               uri = "";
           }
  -        String href = attr.getValue(uri, "href");
  +
  +        // Get attributes without namespace too
  +
  +        String href = attr.getValue("", "href");
           if (href != null) {
  -            simpleLink(href, null, null, null, null, null, uri, name, raw, attr);
  +            simpleLink(href, null, null, null, null, null, "", name, raw, attr);
               return;
           }
   
  -        String src = attr.getValue(uri, "src");
  +        String src = attr.getValue("", "src");
           if (src != null) {
  -            simpleLink(src, null, null, null, null, null, uri, name, raw, attr);
  +            simpleLink(src, null, null, null, null, null, "", name, raw, attr);
               return;
           }
   
  -        String background = attr.getValue(uri, "background");
  +        String background = attr.getValue("", "background");
           if (background != null) {
  -            simpleLink(background, null, null, null, null, null, uri, name, raw, 
attr);
  +            simpleLink(background, null, null, null, null, null, "", name, raw, 
attr);
               return;
           }
  +
           super.startElement(uri, name, raw, attr);
       }
   
  @@ -108,4 +133,3 @@
           super.startElement(uri, name, raw, newattr);
       }
   }
  -
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to