www.un.org/spanish/ecosoc 我的资料来源文件是:。
<?xml version="1.0" encoding="UTF-8"?>
<toc>
<tit>Table des matières</tit>
<lev1 id="lev1-1">
<disp>display contents for «@id= lev1-1 ».</disp>
</lev1>
<lev1 id="lev1-2">
<disp>display contents for «@id= lev1-2 ».</disp>
<lev3 id="lev3-1">
<disp>display contents for «@id= lev3-1 ».</disp>
<lev4 id="lev4-1">
<disp>display contents for «@id= lev4-1 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-2">
<disp>display contents for «@id= lev3-2 ».</disp>
</lev3>
<lev3 id="lev3-3">
<disp>display contents for «@id= lev3-3 ».</disp>
</lev3>
<lev3 id="lev3-4">
<disp>display contents for «@id= lev3-4 ».</disp>
</lev3>
<lev3 id="lev3-5">
<disp>display contents for «@id= lev3-5 ».</disp>
</lev3>
</lev1>
<lev1 id="lev1-3">
<disp>display contents for «@id= lev1-3 ».</disp>
<lev2 id="lev2-1">
<disp>display contents for «@id= lev2-1 ».</disp>
<lev4 id="lev4-2">
<disp>display contents for «@id= lev4-2 ».</disp>
</lev4>
<lev4 id="lev4-3">
<disp>display contents for «@id= lev4-3 ».</disp>
</lev4>
<lev4 id="lev4-4">
<disp>display contents for «@id= lev4-4 ».</disp>
</lev4>
<lev3 id="lev3-6">
<disp>display contents for «@id= lev3-6 ».</disp>
<lev4 id="lev4-5">
<disp>display contents for «@id= lev4-5 ».</disp>
</lev4>
<lev4 id="lev4-6">
<disp>display contents for «@id= lev4-6 ».</disp>
</lev4>
<lev4 id="lev4-7">
<disp>display contents for «@id= lev4-7 ».</disp>
</lev4>
<lev4 id="lev4-8">
<disp>display contents for «@id= lev4-8 ».</disp>
</lev4>
<lev4 id="lev4-9">
<disp>display contents for «@id= lev4-9 ».</disp>
</lev4>
<lev4 id="lev4-10">
<disp>display contents for «@id= lev4-10 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-7">
<disp>display contents for «@id= lev3-7 ».</disp>
</lev3>
<lev3 id="lev3-8">
<disp>display contents for «@id= lev3-8 ».</disp>
</lev3>
</lev2>
<lev2 id="lev2-2">
<disp>display contents for «@id= lev2-2 ».</disp>
<lev3 id="lev3-9">
<disp>display contents for «@id= lev3-9 ».</disp>
<lev4 id="lev4-11">
<disp>display contents for «@id= lev4-11 ».</disp>
</lev4>
<lev4 id="lev4-12">
<disp>display contents for «@id= lev4-12 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-10">
<disp>display contents for «@id= lev3-10 ».</disp>
<lev4 id="lev4-13">
<disp>display contents for «@id= lev4-13 ».</disp>
</lev4>
<lev4 id="lev4-14">
<disp>display contents for «@id= lev4-14 ».</disp>
</lev4>
<lev4 id="lev4-15">
<disp>display contents for «@id= lev4-15 ».</disp>
</lev4>
<lev4 id="lev4-16">
<disp>display contents for «@id= lev4-16 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-11">
<disp>display contents for «@id= lev3-11 ».</disp>
<lev4 id="lev4-17">
<disp>display contents for «@id= lev4-17 ».</disp>
</lev4>
<lev4 id="lev4-18">
<disp>display contents for «@id= lev4-18 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-12">
<disp>display contents for «@id= lev3-12 ».</disp>
<lev4 id="lev4-19">
<disp>display contents for «@id= lev4-19 ».</disp>
</lev4>
<lev4 id="lev4-20">
<disp>display contents for «@id= lev4-20 ».</disp>
</lev4>
<lev4 id="lev4-21">
<disp>display contents for «@id= lev4-21 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-13">
<disp>display contents for «@id= lev3-13 ».</disp>
</lev3>
</lev2>
<lev2 id="lev2-3">
<disp>display contents for «@id= lev2-3 ».</disp>
<lev3 id="lev3-14">
<disp>display contents for «@id= lev3-14 ».</disp>
<lev4 id="lev4-22">
<disp>display contents for «@id= lev4-22 ».</disp>
</lev4>
<lev4 id="lev4-23">
<disp>display contents for «@id= lev4-23 ».</disp>
</lev4>
<lev4 id="lev4-24">
<disp>display contents for «@id= lev4-24 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-15">
<disp>display contents for «@id= lev3-15 ».</disp>
<lev4 id="lev4-25">
<disp>display contents for «@id= lev4-25 ».</disp>
</lev4>
<lev4 id="lev4-26">
<disp>display contents for «@id= lev4-26 ».</disp>
</lev4>
<lev4 id="lev4-27">
<disp>display contents for «@id= lev4-27 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-16">
<disp>display contents for «@id= lev3-16 ».</disp>
</lev3>
<lev3 id="lev3-17">
<disp>display contents for «@id= lev3-17 ».</disp>
</lev3>
</lev2>
<lev2 id="lev2-4">
<disp>display contents for «@id= lev2-4 ».</disp>
<lev3 id="lev3-18">
<disp>display contents for «@id= lev3-18 ».</disp>
</lev3>
<lev3 id="lev3-19">
<disp>display contents for «@id= lev3-19 ».</disp>
<lev4 id="lev4-28">
<disp>display contents for «@id= lev4-28 ».</disp>
</lev4>
<lev4 id="lev4-29">
<disp>display contents for «@id= lev4-29 ».</disp>
</lev4>
<lev4 id="lev4-30">
<disp>display contents for «@id= lev4-30 ».</disp>
</lev4>
<lev4 id="lev4-31">
<disp>display contents for «@id= lev4-31 ».</disp>
</lev4>
<lev4 id="lev4-32">
<disp>display contents for «@id= lev4-32 ».</disp>
</lev4>
<lev4 id="lev4-33">
<disp>display contents for «@id= lev4-33 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-20">
<disp>display contents for «@id= lev3-20 ».</disp>
<lev4 id="lev4-34">
<disp>display contents for «@id= lev4-34 ».</disp>
</lev4>
<lev4 id="lev4-35">
<disp>display contents for «@id= lev4-35 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-21">
<disp>display contents for «@id= lev3-21 ».</disp>
<lev4 id="lev4-36">
<disp>display contents for «@id= lev4-36 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-22">
<disp>display contents for «@id= lev3-22 ».</disp>
</lev3>
<lev3 id="lev3-23">
<disp>display contents for «@id= lev3-23 ».</disp>
</lev3>
</lev2>
<lev2 id="lev2-5">
<disp>display contents for «@id= lev2-5 ».</disp>
<lev3 id="lev3-24">
<disp>display contents for «@id= lev3-24 ».</disp>
<lev4 id="lev4-37">
<disp>display contents for «@id= lev4-37 ».</disp>
</lev4>
<lev4 id="lev4-38">
<disp>display contents for «@id= lev4-38 ».</disp>
</lev4>
<lev4 id="lev4-39">
<disp>display contents for «@id= lev4-39 ».</disp>
</lev4>
<lev4 id="lev4-40">
<disp>display contents for «@id= lev4-40 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-25">
<disp>display contents for «@id= lev3-25 ».</disp>
<lev4 id="lev4-41">
<disp>display contents for «@id= lev4-41 ».</disp>
</lev4>
<lev4 id="lev4-42">
<disp>display contents for «@id= lev4-42 ».</disp>
</lev4>
<lev4 id="lev4-43">
<disp>display contents for «@id= lev4-43 ».</disp>
</lev4>
<lev4 id="lev4-44">
<disp>display contents for «@id= lev4-44 ».</disp>
</lev4>
<lev4 id="lev4-45">
<disp>display contents for «@id= lev4-45 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-26">
<disp>display contents for «@id= lev3-26 ».</disp>
</lev3>
<lev3 id="lev3-27">
<disp>display contents for «@id= lev3-27 ».</disp>
</lev3>
</lev2>
</lev1>
<lev1 id="lev1-4">
<disp>display contents for «@id= lev1-4 ».</disp>
<lev2 id="lev2-6">
<disp>display contents for «@id= lev2-6 ».</disp>
<lev3 id="lev3-28">
<disp>display contents for «@id= lev3-28 ».</disp>
<lev4 id="lev4-46">
<disp>display contents for «@id= lev4-46 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-29">
<disp>display contents for «@id= lev3-29 ».</disp>
<lev4 id="lev4-47">
<disp>display contents for «@id= lev4-47 ».</disp>
</lev4>
<lev4 id="lev4-48">
<disp>display contents for «@id= lev4-48 ».</disp>
</lev4>
<lev4 id="lev4-49">
<disp>display contents for «@id= lev4-49 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-30">
<disp>display contents for «@id= lev3-30 ».</disp>
<lev4 id="lev4-50">
<disp>display contents for «@id= lev4-50 ».</disp>
</lev4>
<lev4 id="lev4-51">
<disp>display contents for «@id= lev4-51 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-31">
<disp>display contents for «@id= lev3-31 ».</disp>
<lev4 id="lev4-52">
<disp>display contents for «@id= lev4-52 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-32">
<disp>display contents for «@id= lev3-32 ».</disp>
<lev4 id="lev4-53">
<disp>display contents for «@id= lev4-53 ».</disp>
</lev4>
<lev4 id="lev4-54">
<disp>display contents for «@id= lev4-54 ».</disp>
</lev4>
<lev4 id="lev4-55">
<disp>display contents for «@id= lev4-55 ».</disp>
</lev4>
<lev4 id="lev4-56">
<disp>display contents for «@id= lev4-56 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-33">
<disp>display contents for «@id= lev3-33 ».</disp>
</lev3>
<lev3 id="lev3-34">
<disp>display contents for «@id= lev3-34 ».</disp>
</lev3>
</lev2>
<lev2 id="lev2-7">
<disp>display contents for «@id= lev2-7 ».</disp>
<lev3 id="lev3-35">
<disp>display contents for «@id= lev3-35 ».</disp>
<lev4 id="lev4-57">
<disp>display contents for «@id= lev4-57 ».</disp>
</lev4>
<lev4 id="lev4-58">
<disp>display contents for «@id= lev4-58 ».</disp>
</lev4>
<lev4 id="lev4-59">
<disp>display contents for «@id= lev4-59 ».</disp>
</lev4>
<lev4 id="lev4-60">
<disp>display contents for «@id= lev4-60 ».</disp>
</lev4>
<lev4 id="lev4-61">
<disp>display contents for «@id= lev4-61 ».</disp>
</lev4>
<lev4 id="lev4-62">
<disp>display contents for «@id= lev4-62 ».</disp>
</lev4>
<lev4 id="lev4-63">
<disp>display contents for «@id= lev4-63 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-36">
<disp>display contents for «@id= lev3-36 ».</disp>
<lev4 id="lev4-64">
<disp>display contents for «@id= lev4-64 ».</disp>
</lev4>
<lev4 id="lev4-65">
<disp>display contents for «@id= lev4-65 ».</disp>
</lev4>
<lev4 id="lev4-66">
<disp>display contents for «@id= lev4-66 ».</disp>
</lev4>
<lev4 id="lev4-67">
<disp>display contents for «@id= lev4-67 ».</disp>
</lev4>
<lev4 id="lev4-68">
<disp>display contents for «@id= lev4-68 ».</disp>
</lev4>
<lev4 id="lev4-69">
<disp>display contents for «@id= lev4-69 ».</disp>
</lev4>
<lev4 id="lev4-70">
<disp>display contents for «@id= lev4-70 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-37">
<disp>display contents for «@id= lev3-37 ».</disp>
</lev3>
<lev3 id="lev3-38">
<disp>display contents for «@id= lev3-38 ».</disp>
</lev3>
</lev2>
<lev2 id="lev2-8">
<disp>display contents for «@id= lev2-8 ».</disp>
<lev3 id="lev3-39">
<disp>display contents for «@id= lev3-39 ».</disp>
<lev4 id="lev4-71">
<disp>display contents for «@id= lev4-71 ».</disp>
</lev4>
<lev4 id="lev4-72">
<disp>display contents for «@id= lev4-72 ».</disp>
</lev4>
<lev4 id="lev4-73">
<disp>display contents for «@id= lev4-73 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-40">
<disp>display contents for «@id= lev3-40 ».</disp>
<lev4 id="lev4-74">
<disp>display contents for «@id= lev4-74 ».</disp>
</lev4>
<lev4 id="lev4-75">
<disp>display contents for «@id= lev4-75 ».</disp>
</lev4>
<lev4 id="lev4-76">
<disp>display contents for «@id= lev4-76 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-41">
<disp>display contents for «@id= lev3-41 ».</disp>
</lev3>
<lev3 id="lev3-42">
<disp>display contents for «@id= lev3-42 ».</disp>
</lev3>
</lev2>
<lev2 id="lev2-9">
<disp>display contents for «@id= lev2-9 ».</disp>
<lev3 id="lev3-43">
<disp>display contents for «@id= lev3-43 ».</disp>
<lev4 id="lev4-77">
<disp>display contents for «@id= lev4-77 ».</disp>
</lev4>
<lev4 id="lev4-78">
<disp>display contents for «@id= lev4-78 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-44">
<disp>display contents for «@id= lev3-44 ».</disp>
</lev3>
<lev3 id="lev3-45">
<disp>display contents for «@id= lev3-45 ».</disp>
<lev4 id="lev4-79">
<disp>display contents for «@id= lev4-79 ».</disp>
</lev4>
<lev4 id="lev4-80">
<disp>display contents for «@id= lev4-80 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-46">
<disp>display contents for «@id= lev3-46 ».</disp>
</lev3>
<lev3 id="lev3-47">
<disp>display contents for «@id= lev3-47 ».</disp>
<lev4 id="lev4-81">
<disp>display contents for «@id= lev4-81 ».</disp>
</lev4>
<lev4 id="lev4-82">
<disp>display contents for «@id= lev4-82 ».</disp>
</lev4>
<lev4 id="lev4-83">
<disp>display contents for «@id= lev4-83 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-48">
<disp>display contents for «@id= lev3-48 ».</disp>
</lev3>
<lev3 id="lev3-49">
<disp>display contents for «@id= lev3-49 ».</disp>
</lev3>
</lev2>
<lev2 id="lev2-10">
<disp>display contents for «@id= lev2-10 ».</disp>
<lev3 id="lev3-50">
<disp>display contents for «@id= lev3-50 ».</disp>
<lev4 id="lev4-84">
<disp>display contents for «@id= lev4-84 ».</disp>
</lev4>
<lev4 id="lev4-85">
<disp>display contents for «@id= lev4-85 ».</disp>
</lev4>
<lev4 id="lev4-86">
<disp>display contents for «@id= lev4-86 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-51">
<disp>display contents for «@id= lev3-51 ».</disp>
<lev4 id="lev4-87">
<disp>display contents for «@id= lev4-87 ».</disp>
</lev4>
<lev4 id="lev4-88">
<disp>display contents for «@id= lev4-88 ».</disp>
</lev4>
<lev4 id="lev4-89">
<disp>display contents for «@id= lev4-89 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-52">
<disp>display contents for «@id= lev3-52 ».</disp>
<lev4 id="lev4-90">
<disp>display contents for «@id= lev4-90 ».</disp>
</lev4>
<lev4 id="lev4-91">
<disp>display contents for «@id= lev4-91 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-53">
<disp>display contents for «@id= lev3-53 ».</disp>
<lev4 id="lev4-92">
<disp>display contents for «@id= lev4-92 ».</disp>
</lev4>
<lev4 id="lev4-93">
<disp>display contents for «@id= lev4-93 ».</disp>
</lev4>
<lev4 id="lev4-94">
<disp>display contents for «@id= lev4-94 ».</disp>
</lev4>
</lev3>
<lev3 id="lev3-54">
<disp>display contents for «@id= lev3-54 ».</disp>
</lev3>
<lev3 id="lev3-55">
<disp>display contents for «@id= lev3-55 ».</disp>
</lev3>
</lev2>
</lev1>
<lev1 id="lev1-5">
<disp>display contents for «@id= lev1-5 ».</disp>
<lev3 id="lev3-56">
<disp>display contents for «@id= lev3-56 ».</disp>
</lev3>
<lev3 id="lev3-57">
<disp>display contents for «@id= lev3-57 ».</disp>
</lev3>
<lev3 id="lev3-58">
<disp>display contents for «@id= lev3-58 ».</disp>
</lev3>
</lev1>
</toc>
www.un.org/Depts/DGACM/index_french.htm
<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- for testing resons, nested structures removed -->
<xsl:template match="/">
<levs>
<xsl:apply-templates select="//lev1|//lev2|//lev3|//lev4|//lev5"/>
</levs>
</xsl:template>
<xsl:template match="//lev1|//lev2|//lev3|//lev4|//lev5">
<xsl:variable name="depth" select="replace(local-name(), lev , , i )"/>
<xsl:variable name="position" select="count(preceding::*[matches(local-name(), ^levd+ )]) + 1"/>
<lev id="{@id}" position="{$position}" depth="{$depth}" name="{local-name()}"/>
</xsl:template>
<!-- final output would be like following -->
<!--
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:param name="extref">file:/c:/somefolder/somefile.xml</xsl:param>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<toc>
<xsl:apply-templates select="toc"/>
</toc>
</xsl:template>
<xsl:template match="//lev1|//lev2|//lev3|//lev4|//lev5">
<xsl:variable name="depth" select="replace(local-name(.), lev , , i )"/>
<xsl:variable name="position" select="count(preceding::*[matches(local-name(), ^levd+ )]) + 1"/>
<lev id="{@id}" position="{$position}" depth="{$depth}">
<disp><xsl:apply-templates/></disp>
<refdoc href="{concat($extref, # ,@id)}"/>
</lev>
</xsl:template>
-->
</xsl:transform>
<>和产出:
<?xml version="1.0" encoding="UTF-8"?>
<levs>
<lev id="lev1-1" position="1" depth="1" name="lev1"/>
<lev id="lev1-2" position="2" depth="1" name="lev1"/>
<lev id="lev3-1" position="2" depth="3" name="lev3"/>
<lev id="lev4-1" position="2" depth="4" name="lev4"/>
<lev id="lev3-2" position="4" depth="3" name="lev3"/>
<!--items removed for clarity-->
<lev id="lev3-58" position="166" depth="3" name="lev3"/>
</levs>
我的问题是在XPath 构造中计算出来的<代码>(前引:*[事项(当地名称)、levlevd+]+ 1会产生错误结果。 <代码>@position的生成值不是线性数值,因为数值之间的共同差异应当1
,而生成的顺序为0
、1
或>1
。
我只能用“<>条码”来解决这个问题,但我还必须保持封顶结构。
没有人帮助我解决问题? 我失踪了吗?