2015-08-10 3 views
0

Я пытаюсь разобрать содержимое файла следующий XMLXML разбора с помощью XSL без XSL: для-каждого

<firstunit> 
    <head>page</head> 
    <para>ijkl</para> 
    <para>mno</para> 
    <para>xyz</para> 
    <note>ask</note> 
</firstunit> 
<firstunit> 
    <para>para</para> 
    <head>head</head> 
    <para>abcd</para> 
    <para>mnop</para> 
    <head>xyz</head> 
    <note>askldj</note> 
</firstunit> 

Здесь возникает проблема, если я использую

<xsl:for-each select="para"> 

я получит все сначала пара, а затем остальные. Но я не получу теги в порядке. Есть ли способ пересечь этот XML и получить все теги в порядке?

+0

Можете ли вы показать вывод, который вы на самом деле ожидаете в этом случае, поскольку кажется, что вы хотите сделать какую-то конкретную обработку с помощью тегов «para». Благодаря! –

ответ

1

Обычная кодировка стиля обработки push в XSLT заключается в создании шаблонов и использовании apply-templates, например.

<xsl:template match="firstunit"> 
    <div> 
    <xsl:apply-templates/> 
    </div> 
</xsl:template> 

<xsl:template match="para"> 
    <p> 
    <xsl:apply-templates/> 
    </p> 
</xsl:template> 

<xsl:template match="head"> 
    <h1> 
    <xsl:apply-templates/> 
    </h1> 
</xsl:template> 

Таким образом, вы сохраняете свой код хорошо структурированным, и обработка происходит в порядке документа.

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