我正在创建一个传递架构属性的XML文件,但是我想使用XSL样式表添加xsi:schemaLocation。如何在文件及其属性上添加副本,但是添加schemaLocation?来自XML文件和下面样式表的示例代码。
我对XSL很新。任何帮助表示赞赏。
python test.py
Enter a name: bill
Enter a name: bob
Enter a name:
{'bill': [], 'bob': []}
bill, who will win the fight? red
bob, who will win the fight? blue
Who won the fight? red
bill = Correct
bob = Incorrect
{'bill': ['red'], 'bob': ['blue']}
预期结果:
let dateData = [("07-22-2016", 5.0), ("07-21-2016", 3), ("07-20-2016", 2), ("07-19-2016", 1), ("07-18-2016", 1), ("07-16-2016", 2), ("07-15-2016", 3)]
var streaks:[(String,Bool,Int)] = []
for (date,value) in dateData
{
if let goodMood = streaks.last?.1
where goodMood == (value < 3)
{ streaks[streaks.count-1].2 += 1 }
else
{ streaks += [(date, value<3, 1)] }
}
// at this point streaks contains an array of tupples with counts of consecutive days of a given mood
//
// [("07-22-2016", false, 2), ("07-20-2016", true, 4), ("07-15-2016", false, 1)]
//
// you can then process that as you need
let goodStreaks = streaks.filter{$0.1}.map{($0.0,$0.2)} // [("07-20-2016", 4)]
let badStreaks = streaks.filter{!$0.1}.map{($0.0,$0.2)} // [("07-22-2016", 2), ("07-15-2016", 1)]
let longestGoodStreak = streaks.filter{$0.1}.reduce(0, combine: { max($0,$1.2) }) // 4
答案 0 :(得分:0)
AFAICT,预期结果可以非常简单地通过以下方式实现:
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/*">
<xsl:copy>
<xsl:attribute name="xsi:schemaLocation">www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo/PolizasPeriodo_1_1.xsd</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>