anchor.diff:          if ((matches != null) && (matches.length > 0)) {
             final AssetId skinAssetId = new AssetId.parse(codeBody.substring(matches.first.start + 7, matches.first.end - 2));
             
  -          _processXmlAsset(transform, skinAssetId, TEMPLATE).then(
  -            (String skinPart) {
  +          transform.readInputAsString(skinAssetId).then(
  +            (String content) {
  +              final XmlDocument incoming = parse(content);
  +              final UIMLSkin skin = new UIMLSkin(incoming.lastChild as XmlElement, transform.logger);
  +              
                 transform.addOutput(
                   new Asset.fromString(
                       transform.primaryInput.id, 
  -                    codeBody.replaceAll(exp, skinPart)
  +                    codeBody.replaceAll(exp, TEMPLATE.replaceAll(SKIN_CREATE_BLOCK, skin.toString()))
                   )
                 );
                 
  
positive.code:   String toString() => _elements.join('\r\t\t');
    
    UIMLSkinLibraryItem getLibraryItem(String ns) => _libraryItems.firstWhere(
      (UIMLSkinLibraryItem item) => (item.ns == ns)
    );
    
    List<UIMLSkinLibraryItem> _getLibraryItems() {
      final List<UIMLSkinLibraryItem> items = <UIMLSkinLibraryItem>[];
      
      element.attributes.forEach(
        (XmlAttribute attr) {
          final List<String> nsDecl = attr.name.toString().split(':');
          
          if (nsDecl.length == 2 && nsDecl.first == 'xmlns') items.add(new UIMLSkinLibraryItem.fromUri(logger, nsDecl.last, attr.value));
        }
      );
      
  
negative.code:             }
            );
          } else completer.complete(null);
        }
      );
      
  