使用xslt从xml文件复制元素

时间:2017-01-19 09:21:38

标签: xml xslt ant

免责声明我是xml和xslt的新手,如果我在这里缺乏一些关键知识,那么道歉

我有一个xml文件,其中包含(例如):

<project name="extract-messages" default="extract">

<target name="extract" description="Extracts the necessary messages from ./messages">

    <!-- Clean ./extracts directory for each test -->
    <delete dir="${basedir}/../extracts" failonerror="false" />
    <mkdir dir="${basedir}/../extracts" />

    <!-- Extract the necessary messages from ./messages files to this folder -->
    <xslt basedir="${basedir}/../messages" includes="*.xml" destdir="${basedir}/../extracts" extension=".xml" style="${basedir}/../XSLT/extracts.xsl" />

</target>

</project>

我还有一个构建xml文件,它调用一个xsl文件,该文件有几个名称空间,用于从初始xml文件中提取标记之外的所有内容,并将其放在单独目录中的单独文件中。但是,我也希望这个xsl文件提取“数字”元素 - 有没有办法实现这个?

在build.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="XXX"
xmlns:xalan="XXX"
xmlns:redirect="XXX"
extension-element-prefixes="redirect"
exclude-result-prefixes="XXX">
</xsl:stylesheet>

以下是xsl文件的摘录:

<?php

$searchedForValue = 3;

$array1 = array(1,2,3,4,5,6);
$array2 = array(1,2,3,3,4,5);
$array3 = array(1,2,4,5,6);

$arr = array($array1,$array2 ,$array3);

function array_count_values_of($value, $array) {
    $counts = array_count_values($array);
    return $counts[$value];
}

foreach($arr as $ar){
if( array_count_values_of($searchedForValue,$ar)==1){echo "true";}else{echo "false";}
}

?>

此文件提取xml消息文件中任何标记之外的所有消息

0 个答案:

没有答案