2009-05-02 3 views
3

Я пытаюсь разработать таблицу стилей XSLT, которая преобразует XML-в другой, имея в виду:преобразование только указанные элементы, опуская остальные

  1. По умолчанию таблица стилей не должен отображать ничего для каждого элемента (не даже текст).
  2. Если для элемента есть явное соответствие шаблона, скопируйте его, его атрибуты и все его подэлементы (и их атрибуты).

Иными словами, идентификатор преобразует только те элементы, которые явно указаны.

ответ

4

Ну, ничего не делать для большинства, конечно, что-то вроде:

<xsl:template match="/*"> 
    <xsl:copy> 
    <xsl:apply-templates select="*"/> 
    </xsl:copy> 
</xsl:template> 
<xsl:template match="*"> 
    <xsl:apply-templates select="*"/> 
</xsl:template> 

Затем добавьте матчи за то, что вы сделать хотите:

<xsl:template match="Foo | Bar"> 
    <xsl:copy-of select="."/> 
</xsl:template> 

Тем не менее, кажется очень необычный требование. Обычно вы просто используете совпадения, которые переходят к известному контенту через знание xml.

+0

Спасибо Marc, Ваш ответ имеет смысл. Да, это странное требование, но то, что я пытаюсь сделать здесь, - это контролировать доступ к XML-документу, где пользователь сможет видеть только те элементы, которые явно разрешены администратором. Пользователи будут видеть файл в необработанном формате XML. Надеюсь, это имеет смысл. Что мне еще нужно сделать, так это отобразить корневой элемент в любом случае (в случае корневого элемента не отображать дочерние элементы). Извините, забыл упомянуть об этом в оригинальном посте. - Ali – 2009-05-02 21:12:53

+0

Благодарим за Марка. Это именно то, чего я хотел. – 2009-05-02 21:26:33

 Смежные вопросы

  • Нет связанных вопросов^_^