免责声明我是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消息文件中任何标记之外的所有消息