docs: private void transformStartElement(Node node, Hashtable properties) {
  
          // check hat kind of node we have
          String nodeName = node.getNodeName();
  
          // the <HTML> and <BODY> node must be skipped
          if (nodeName.equals(NODE_HTML) || nodeName.equals(NODE_BODY)) {
              // the <TITLE> node must be read and its value set as properties to
              // the imported file
  
          } else if (nodeName.equals(NODE_TITLE)) {
  
              writeTitleProperty(node, properties);
  
          } else if (nodeName.equals(NODE_META)) {
  
              writeMetaTagProperty(node, properties);
  
          } else if (nodeName.equals(NODE_HREF)) {
  
              // only do some output if we are in writing mode
              if (m_write) {
                  m_tempString.append("<");
                  m_tempString.append(nodeName);
                  NamedNodeMap attrs = node.getAttributes();
                  // look through all attribs to find the reference
                  for (int i = attrs.getLength() - 1; i >= 0; i--) {
                      String name = attrs.item(i).getNodeName();
                      String value = attrs.item(i).getNodeValue();
  
                      if (name.equals(ATTRIB_HREF)) {
  
                          // check if this is an external link
                          if (value.indexOf("://") > 0) {
                              // store it for later creation of an entry in the
                              // link gallery
                              String externalLinkFile = m_htmlImport.storeExternalLink(value);
                              if (externalLinkFile != null) {
                                  value = m_htmlImport.getLinkGallery() + externalLinkFile;
                              }
                          } else if (!value.startsWith("mailto:") && !value.startsWith("javascript:")) {
  
                              // save an existing anchor link for later use
                              //                            if (value.indexOf("#") > 0) {
                              //                                String anchor = value.substring(value.indexOf("#"), value.length());
                              //                            }
                              // get the new link into the VFS
                              String internalUri = m_htmlImport.getAbsoluteUri(
                                  value,
                                  m_filename.substring(0, m_filename.lastIndexOf("/") + 1));
  
                              value = m_htmlImport.translateLink(internalUri);
                          }
                      }
  
                      m_tempString.append(" ");
                      m_tempString.append(name);
                      m_tempString.append("=\"");
                      m_tempString.append(value);
                      m_tempString.append("\"");
                  }
                  m_tempString.append(">");
              }
  
              // this is a imasge, its reference must be converted
          } else if (nodeName.equals(NODE_IMG)) {
  
              // only do some output if we are in writing mode
              if (m_write) {
                  m_tempString.append("<");
                  m_tempString.append(nodeName);
                  NamedNodeMap attrs = node.getAttributes();
                  // look through all attribs to find the src and alt attributes
                  String imagename = "";
                  String altText = "";
                  for (int i = attrs.getLength() - 1; i >= 0; i--) {
                      String name = attrs.item(i).getNodeName();
                      String value = attrs.item(i).getNodeValue();
                      if (name.equals(ATTRIB_SRC)) {
                          // we found the src. now check if it refers to an
                          // external image.
                          // if not, we must get the correct location in the VFS
                          if (value.indexOf("://") <= 0) {
                              imagename = m_htmlImport.getAbsoluteUri(
                                  value,
                                  m_filename.substring(0, m_filename.lastIndexOf("/") + 1));
                              value = m_htmlImport.translateLink(imagename);
                          }
                      } else if (name.equals(ATTRIB_ALT)) {
                          altText = value;
                      }
  
                      m_tempString.append(" ");
                      m_tempString.append(name);
                      m_tempString.append("=\"");
                      m_tempString.append(value);
                      m_tempString.append("\"");
                  }
  
                  //store the alt tag of this image for later use
                  m_htmlImport.storeImageInfo(imagename, altText);
  
                  m_tempString.append(">");
              }
          } else {
  
              // only do some output if we are in writing mode
              if (m_write) {
  
                  m_tempString.append("<");
                  m_tempString.append(nodeName);
                  NamedNodeMap attrs = node.getAttributes();
                  for (int i = attrs.getLength() - 1; i >= 0; i--) {
                      m_tempString.append(" " + attrs.item(i).getNodeName() + "=" + "\"");
                      /* scan attribute values and replace subStrings */
                      m_tempString.append(attrs.item(i).getNodeValue() + "\"");
                  }
                  m_tempString.append(">");
              }
          }
      }