Метод, создающий...
Листинг 4.23. Метод, создающий теги изображения (ProductFormatter.java)
private void addImageTag( StringBuffer sb, Element img ){
String format = img.getAttribute("format");
String width = img.getAttribute("width");
String height = img.getAttribute("height");
String src = img.getAttribute("src");
String desc = "image ";
sb.append("<img src=\"");
// detect option for image source to point off site
if( !src.toUpperCase().startsWith("HTTP")){
sb.append(resourcePath );
}
if( sb.charAt( sb.length() - 1 ) == '/' &&
src.charAt(0) == '/' ){
sb.append( src.substring(1) );
}
else sb.append( src ) ;
sb.append( "\" alt=\"" );
NodeList imgNL = img.getElementsByTagName("caption");
if( imgNL.getLength() >
0 ){
sb.append( desc );
// addText(sb, "caption", (Element) imgNL.item(0) );
}
else sb.append( desc );
sb.append( "\" width=\"" );
sb.append( width );
sb.append( "\" height=\"" );
sb.append( height );
sb.append( "\" >
" );
//NodeList imgNL = img.getElementsByTagName("caption") ;
if( imgNL.getLength() == 0 ) return ;
Element caption = (Element) imgNL.item(0);
addText( sb, "caption", caption );
return ;
}
Формат нашего XML-каталога допускает использование стиля running_text в подписях и описаниях товаров. Методы addExtendedText и doExtendedTextEl ement, показанные в листинге 4.24, могут объединить весь текст описания или подписи с соответствующей разметкой HTML, чтобы создать абзац или назначить начертание этого текста (курсив или полужирный шрифт).
Содержание раздела