`
zy77612
  • 浏览: 286929 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ant 的 dtd 在哪里?(转载)

阅读更多

看到很多人,包括一些老外,在网上问ant的dtd或者xsd在哪里。

其实在ant.apache.org的FAQ里有一条写的很清楚:

http://ant.apache.org/faq.html#dtd

Is there a DTD that I can use to validate my build files?

An incomplete DTD can be created by the <antstructure> task - but this one has a few problems:

It doesn't know about required attributes. Only manual tweaking of this file can help here.
It is not complete - if you add new tasks via <taskdef> it won't know about it. See this page by Michel Casabianca for a solution to this problem. Note that the DTD you can download at this page is based on Ant 0.3.1.
It may even be an invalid DTD. As Ant allows tasks writers to define arbitrary elements, name collisions will happen quite frequently - if your version of Ant contains the optional <test> and <junit> tasks, there are two XML elements named test (the task and the nested child element of <junit>) with different attribute lists. This problem cannot be solved; DTDs don't give a syntax rich enough to support this.
虽然dtd会限制ant的可扩展性但是在语法提示的诱惑下还是生成了这个DTD;

方法大致如下:

1.建立一个build.xml

2.输入内容:

<?xml version="1.0" encoding="UTF-8"?>
       <project>
              <target name="makedtd">
                   <antstructure output="project.dtd" />
              </target>
       </project>

3.到build.xml所在目录下执行ant_home%/bin/ant makedtd

4.BUILD FAILED!发生一个NoClassDefFoundError错误,大致是说org/apache/commons/net/ftp/FTPClientConfig没找到

但是project.dtd还是生成了,我这里这个ANT1.7生成的115KB。

5.为了解决这个问题首先查得FTPClientConfig是apache的commons-net包的,于是下载http://apache.mirror.phpchina.com/commons/net/binaries/commons-net-1.4.1.zip,放到ant_home的lib目录下 ,再次构建 OK ,没有错误提示project.dtd生成202KB。

不过好像给XMLSpy挂上还是没有语法提示 -_-

6.仔细看了一下原来生成的DTD里边有几处问题。

   1)第六行<!ELEMENT project (target | %tasks; | %types;)*>

   此行末尾的‘*’号应该为‘+’号因为每个build.xml都应该起码有一个<project>元素

   2)根据XMLSpy提示,有个定义<!ELEMENT targe EMPTY>。

   3) 根据XMLSpy提示<!ELEMENT FTP.........>这块也有问题,由于平时基本不会用到因此删掉。

OK 现在已经是个良好格式(well-formet)的project.dtd文件了。

现在通过XMLSpy根据此project.dtd 建立的build.xml就具备了一般的语法提示功能了。

 

分享到:
评论

相关推荐

    微电网两阶段鲁棒优化经济调度方法:基于Matlab+YALMIP+CPLEX的实现

    内容概要:本文详细介绍了利用Matlab、YALMIP和CPLEX实现微电网两阶段鲁棒优化经济调度的方法。首先,主问题部分通过定义决策变量如机组出力、储能充放电状态等,建立目标函数以最小化总成本,并设置相应的约束条件。接着,子问题部分模拟最恶劣场景,通过引入不确定性和惩罚系数,最大化系统成本,从而找到系统的薄弱环节。两者通过列与约束生成算法(CCG)进行迭代优化,直至达到收敛条件。文中还提供了多个实战避坑指南,如变量维度对齐、CPLEX参数调优以及不确定性集合的选择等。 适合人群:从事电力系统优化研究的专业人士,尤其是对微电网调度感兴趣的工程师和技术研究人员。 使用场景及目标:适用于需要确保微电网在面对极端天气或其他不确定性因素时仍能稳定运行的情况。主要目标是在保障系统可靠性的前提下,降低运营成本,提高经济效益。 其他说明:文章不仅提供了详细的代码实现步骤,还包括了许多实用的经验分享和技巧提示,帮助读者更好地理解和应用两阶段鲁棒优化方法。此外,还强调了在实际应用中应注意的问题,如避免过度保守、合理设定不确定集参数等。

    H6逆变器拓扑及其离网并网仿真实现与应用

    内容概要:本文介绍了H6逆变器拓扑结构及其离网和并网仿真模型的特点。H6逆变器采用六开关器件设计,支持非单位功率因数负载、功率因数调节、共模电流抑制等功能。文中详细讨论了PR单环控制策略、锁相环(SOGI-PLL)、LC和LCL滤波器的应用,并提供了相关代码示例。此外,文章还探讨了仿真环境设置以及常见调试技巧,验证了H6逆变器在不同负载条件下的优越性能。 适合人群:从事电力电子、逆变器设计与仿真的工程师和技术研究人员。 使用场景及目标:①理解和掌握H6逆变器的工作原理和控制策略;②优化逆变器的设计参数,提高其在离网和并网场景中的性能;③通过仿真验证设计方案的有效性和可靠性。 其他说明:本文提供了丰富的代码片段和调试经验分享,有助于读者快速上手H6逆变器的实际应用。

    松下FP-X PLC在空调冷冻泵模拟量控制中的手动/自动控制程序设计与应用

    内容概要:本文详细介绍了松下FP-X系列PLC在空调冷冻泵模拟量控制中的应用,特别是AFPX-TC2模拟量输入模块和AFPX-DA2模拟量输出模块的使用方法。文章涵盖了硬件连接、手动控制程序、自动控制程序以及模式切换逻辑的设计。通过这些模块和程序,可以实现对冷冻泵转速的手动和自动控制,确保系统的稳定性和高效性。文中还提供了详细的代码示例和调试技巧,如PID参数调整、信号量程转换、无扰动模式切换等。 适合人群:从事工业自动化控制领域的工程师和技术人员,尤其是熟悉PLC编程和模拟量控制的人士。 使用场景及目标:适用于需要对空调冷冻泵进行精确控制的工程项目,旨在提高系统的响应速度和稳定性,减少人工干预,提升工作效率。 其他说明:文章不仅提供了理论指导,还包括了许多实用的经验和注意事项,如硬件接线细节、常见问题解决方法等,有助于读者快速掌握并应用于实际项目中。

    光子晶体超表面中Off-Gamma点BICs合并的COMSOL模拟与优化

    内容概要:本文详细介绍了如何利用COMSOL软件在光子晶体超表面中实现偏离Gamma点的BICs(连续谱中的束缚态)合并。首先,作者通过设置偏离Gamma点的波矢,调整晶格参数如孔半径和晶格常数,成功实现了BICs的合并。接着,作者分享了多个实用技巧,如正确设置周期性边界条件、使用六重旋转对称条件以及优化网格划分方法。此外,文中提供了详细的MATLAB和COMSOL代码片段,帮助读者理解和复现实验结果。最后,作者强调了磁场涡旋对于识别BICs的重要性,并讨论了BICs合并过程中的一些反直觉现象及其背后的物理机制。 适合人群:从事光子晶体超表面研究的科研人员和技术爱好者,尤其是那些希望深入了解BICs合并机制并对COMSOL有一定基础的读者。 使用场景及目标:① 使用COMSOL进行光子晶体超表面的数值模拟;② 实现偏离Gamma点的BICs合并;③ 优化仿真参数以提高Q值和模式稳定性;④ 理解BICs合并的物理机制及其应用前景。 其他说明:本文不仅提供了理论指导,还附带了大量的实际操作步骤和代码示例,使读者能够快速上手并在实践中不断优化自己的模型。同时,作者提醒了一些常见的错误和注意事项,有助于避免不必要的调试时间。

    分享一些R包,用于GBD数据库BAPC分析

    分享一些R包,用于GBD数据库BAPC分析

    A10 ACOS v4 VRRP-A配置详解:实现高可用性和链路负载均衡

    内容概要:本文档详细介绍了A10 ACOS v4平台上的VRRP-A(高级虚拟路由器冗余协议)配置方法及其工作机制。VRRP-A旨在提高网络的高可用性和冗余度,支持多达八个ACOS设备作为IP互备份,适用于网关(路由)模式及单臂模式部署。文档涵盖了VRRP-A的基本概念、配置流程、主备选举机制、故障切换逻辑、浮动IP管理、配置同步、会话同步以及接口配置等内容。此外,还提供了具体的配置示例和故障切换策略模板的创建方法,以帮助管理员更好地理解和应用VRRP-A。 适合人群:具备一定网络基础知识,尤其是熟悉ACOS平台的网络管理员和工程师。 使用场景及目标:①实现多台ACOS设备之间的冗余备份,确保网络服务的连续性和稳定性;②通过配置浮动IP、主备选举、故障切换策略等,提升网络的高可用性;③利用配置同步和会话同步功能,简化管理和维护工作。 其他说明:本文档不仅提供了详细的配置指南,还通过具体示例展示了各种配置的实际操作步骤,帮助用户快速掌握VRRP-A的配置和优化技巧。此外,文档强调了VRRP-A与传统VRRP的区别,指出两者不可互操作,因此在实际部署中需要注意选择合适的协议。

    基于OpenSEES平台的单柱墩模型建模及滑移粘接捏缩效应研究

    内容概要:本文详细介绍了如何利用OpenSEES平台建立单柱墩模型,并深入探讨了钢筋与混凝土之间的滑移粘接及其捏缩效应。主要内容涵盖模型初始化、节点定义、边界条件设定、材料和截面定义、单元创建以及基于位移控制的滞回分析。文中提供了完整的建模过程和相关源代码,帮助读者理解并实现这一复杂结构的数值模拟。 适合人群:从事结构工程、土木工程及相关领域的研究人员和技术人员,特别是那些对钢筋混凝土结构的非线性行为感兴趣的学者。 使用场景及目标:适用于桥梁、建筑等基础设施的设计和评估,旨在提高结构在地震等极端荷载下的安全性和耐久性。通过模拟钢筋与混凝土间的粘接滑移现象,优化结构设计,增强抗震能力。 其他说明:文章不仅提供了理论背景,还包括大量实用的代码示例和实践经验分享,有助于读者快速掌握OpenSEES平台的应用技巧。同时,针对可能出现的问题给出了具体的解决方案,如收敛困难时的处理方法等。

    黔轻职院团字〔2025〕5号关于开展2025年大学生社区实践计划工作的通知.zip

    黔轻职院团字〔2025〕5号关于开展2025年大学生社区实践计划工作的通知.zip

    Matlab/Simulink中100kW光伏发电三相并网系统的建模与仿真

    内容概要:本文详细介绍了基于Matlab/Simulink构建的100kW光伏发电三相并网系统的建模与仿真。系统主要包括100kW光伏模块及其MPPT控制、两级式并网逆变器(boost电路和三相桥式逆变)、复杂的控制策略(坐标变换、锁相环、dq功率控制、解耦控制、电流内环电压外环控制、SPWM调制)以及LC滤波器。文中不仅提供了详细的理论背景和技术实现方法,还展示了具体的仿真结果,验证了系统的性能。主要内容涵盖MPPT控制算法、逆变器拓扑结构、控制策略的设计与实现、LC滤波器的作用及效果评估。 适合人群:从事电力电子、新能源发电、控制系统设计的研究人员和工程师,特别是对光伏发电并网系统感兴趣的读者。 使用场景及目标:适用于希望深入了解光伏发电并网系统工作原理和控制策略的技术人员。目标是掌握如何利用Matlab/Simulink进行光伏发电系统的建模与仿真,提高系统的发电效率和稳定性。 其他说明:文章强调了各个组件之间的协同工作对于系统整体性能的影响,并提供了大量实用的代码片段和调试技巧,有助于读者更好地理解和应用所学知识。

    光伏系统中电导增量法MPPT算法的优化与仿真实现

    内容概要:本文详细介绍了电导增量法(INC)在光伏发电系统中的最大功率点跟踪(MPPT)算法。首先解释了INC算法的核心逻辑,即通过电导变化量判断爬山方向,并讨论了关键参数如阈值、步长的选择及其对系统稳定性的影响。接着探讨了PWM调制的具体实现方式,强调了V_pv_max的实时获取重要性和自适应步长策略的应用。此外,还分享了一些实用的仿真技巧,如加入噪声处理、动态调整I-V曲线以及使用卡尔曼滤波提高跟踪精度。最后,通过实验数据验证了改进后的INC算法在不同光照条件下的优越性能。 适合人群:从事光伏系统研究与开发的技术人员,尤其是对MPPT算法感兴趣的工程师。 使用场景及目标:适用于需要深入了解和优化光伏系统MPPT算法的研究和开发工作,旨在提升光伏系统的能量转换效率。 其他说明:文中提供了大量代码片段和实践经验,帮助读者更好地理解和应用电导增量法。同时提醒读者关注一些常见的陷阱和技术细节,确保仿真的准确性和可靠性。

    计算机视觉中裂缝检测的数据标注方法:从YOLO目标检测到语义分割

    内容概要:本文详细介绍了裂缝检测中的数据标注方法,涵盖了目标检测和语义分割两大主要技术。对于目标检测部分,重点讲解了YOLO算法的数据标注流程,包括工具选择、标注操作以及保存格式。而对于语义分割,则深入探讨了像素级标注的具体步骤,涉及多边形绘制、掩码图像生成及其优化处理。此外,还分享了一些实战经验和技巧,如如何应对复杂裂缝形态、提高标注精度的方法等。 适合人群:从事计算机视觉领域的研究人员和技术人员,尤其是专注于物体检测和图像分割方向的专业人士。 使用场景及目标:①帮助开发者掌握裂缝检测数据标注的基本技能;②提供实用的操作指南,解决实际工作中遇到的各种难题;③为构建高效准确的裂缝检测模型奠定坚实的数据基础。 其他说明:文中不仅包含了理论知识,还附带了许多具体的代码实例,有助于读者更好地理解和应用相关技术。

    车辆工程中半车悬架主动控制的MPC模型预测控制实现与调参技巧

    内容概要:本文详细介绍了半车悬架主动控制系统中MPC(模型预测控制)的应用及其调参技巧。首先解释了MPC的基本概念,即通过优化未来一段时间内的性能指标来确定当前时刻的最佳控制输入。接着展示了具体的实现步骤,包括建立状态空间模型、定义性能指标函数和采用优化算法进行求解。文中特别强调了参数调优的经验,如预测时域和控制时域的选择、权重矩阵的设计以及约束条件的设置。此外,作者还分享了一些调试细节,例如QP求解器的选项设置和作动器延迟补偿的方法。最终的效果表明,MPC能够显著提高乘坐舒适性和操控稳定性。 适合人群:从事车辆工程、自动化控制领域的研究人员和技术人员,尤其是对悬架系统和MPC感兴趣的读者。 使用场景及目标:适用于需要提升汽车行驶品质的研究项目或产品开发,旨在通过先进的控制算法改善车辆的动态性能。 其他说明:文章提供了丰富的代码片段和实践经验,有助于读者更好地理解和应用MPC技术。同时提醒读者注意参数之间的相互影响,确保系统稳定可靠地运行。

    电机控制中高频注入Simulink模型实现电角度精确观测的技术解析

    内容概要:本文详细介绍了利用Simulink模型进行高频注入以实现电机电角度精确观测的方法和技术细节。首先,通过在d轴注入特定频率的正弦波电压信号,使高频信号与转子位置产生相互作用,从而携带角度信息。其次,采用低通和带通滤波器组合对信号进行处理,分别去除高频成分并提取有用的调制信号。最后,通过锁相环结构解调相位差,得到最终的角度估计。文中还讨论了不同频率选择的影响以及启动阶段的扫频注入优化方法,并分享了一些实际应用中的经验和注意事项。 适合人群:从事电机控制系统研究与开发的专业技术人员,特别是对无位置传感器控制感兴趣的工程师。 使用场景及目标:适用于需要提高电机控制精度的应用场合,特别是在低速条件下无法使用传统位置传感器的情况下。目标是通过高频注入技术实现对电机转子位置的高精度测量,进而提升整个系统的性能。 其他说明:文中提供了大量MATLAB/Simulink代码片段作为示例,帮助读者更好地理解和实现相关算法。同时强调了实际工程实践中可能遇到的问题及其解决方案,如信噪比优化、硬件干扰排除等。

    texlive-csquotes-7:20180414-23.el8.x64-86.rpm.tar.gz

    1、文件说明: Centos8操作系统texlive-csquotes-7:20180414-23.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf texlive-csquotes-7:20180414-23.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm

    风光储并网协同运行模型:基于双闭环控制与单极调制的MATLAB/Simulink实现

    内容概要:本文详细介绍了风光储并网协同运行模型中的关键技术——双闭环控制策略和单极调制方法。双闭环控制策略由电流内环和电压外环构成,分别用于快速跟踪电流指令和维持输出电压稳定,确保并网电能质量。单极调制作为一种PWM技术,能够降低开关损耗,提高系统效率。文中还提供了具体的MATLAB代码示例和Simulink建模步骤,展示了如何在仿真环境中实现和优化这些控制策略。 适合人群:对风光储并网系统感兴趣的科研人员、工程师和技术爱好者。 使用场景及目标:适用于希望深入了解风光储并网系统控制机制的研究者,旨在帮助他们掌握双闭环控制和单极调制的具体实现方法,从而应用于实际项目中,提高系统的稳定性和效率。 其他说明:文章不仅提供了理论解释,还包括了详细的代码示例和仿真指导,使读者能够在实践中加深理解。此外,文中还分享了一些实用的调试技巧和注意事项,如避免过冲、设置死区时间和选择合适的仿真求解器等。

    S7-200 Smart PLC用于卷板材生产线及造纸设备的速度与频率同步控制程序解析

    内容概要:本文详细介绍了基于S7-200 Smart PLC的速度与频率同步控制程序,主要用于卷板材生产线和造纸设备。程序通过设置速度同步地址vw10作为基准,利用频率调整系数factor[i]实现1-15回路的频率同步。此外,还支持主从单机微调功能,确保各回路能够精确同步。文中提供了具体的代码示例,解释了如何通过简单逻辑实现多机同步,并强调了微调和异常检测的重要性。对于16-30回路,考虑到设备布局和负载差异,提出了相应的优化建议,如地址映射调整和滤波算法的应用。 适合人群:从事自动化控制系统开发的技术人员,尤其是熟悉PLC编程和变频器应用的专业人士。 使用场景及目标:①帮助技术人员理解和掌握S7-200 Smart PLC在卷板材生产线和造纸设备中的速度与频率同步控制方法;②提供实用的代码示例和技术细节,便于快速部署和调试;③提高生产线的稳定性和效率,降低故障发生率。 其他说明:本文不仅涵盖了基本的同步控制逻辑,还包括了许多实际应用中的经验和技巧,如微调处理、异常检测和滤波算法等,有助于解决实际工程中的常见问题。

    材料科学中EBSD数据转换为有限元inp格式的技术实现与应用

    内容概要:本文详细介绍了将EBSD(电子背散射衍射)数据转换为有限元inp格式文件的方法和技术细节。首先解释了EBSD数据的重要性和有限元分析的作用,随后通过Python编程展示了完整的转换流程,包括数据读取、处理、节点生成、材料方向赋值以及最终生成inp文件。文中不仅提供了具体的代码示例,还讨论了常见的挑战及其解决办法,如坐标对齐、网格拓扑构建、材料方向赋值等。此外,作者分享了一些实践经验,强调了注意事项,如确保单位一致性和格式准确性。 适合人群:从事材料科学研究的专业人士,尤其是那些需要将微观材料特性应用于宏观有限元模拟的工程师和科学家。 使用场景及目标:适用于需要将EBSD数据用于有限元分析的研究项目,旨在提高材料模拟的精度和可靠性。主要目标是帮助研究人员掌握如何利用编程手段高效地将EBSD数据转化为可用于有限元分析的inp文件。 其他说明:文中提到的技术和方法不仅可以应用于二维数据,也可以扩展到三维情况,尽管后者涉及更多复杂性。同时,文中提供的代码片段可以直接用于实际工作中,但可能需要根据具体情况调整参数设置。

    matlab-PSO调谐模糊逻辑基于电源系统的智能负载频率控制

    matlab-PSO调谐模糊逻辑基于电源系统的智能负载频率控制

    flutter provider/network 请求

    provider/network 请求

    基于VDA305_100标准的EPB电子驻车制动系统Simulink模型设计与应用

    内容概要:本文介绍了基于VDA305_100标准构建的EPB电子驻车制动系统Simulink模型。该模型采用matlab2018a版本,涵盖多个关键模块如有刷直流电机及其执行器模型、SSM(状态管理系统)、PBC(驻车制动控制系统)和数据处理模块。文中详细解释了各模块的设计原理、参数设置方法及其实现方式,展示了模型的基本功能如常规夹紧与释放、溜车再夹与自动释放、动态减速等功能,并探讨了模型的拓展开发潜力,如故障诊断、智能驻车辅助等。此外,还提供了具体的代码示例和技术细节,强调了模型的实际应用价值和发展前景。 适合人群:汽车工程领域的研究人员、工程师以及对嵌入式系统、自动化控制感兴趣的开发者。 使用场景及目标:适用于希望深入了解EPB系统工作原理的研究人员;用于教学演示,帮助学生掌握复杂机电一体化系统的建模技巧;作为工业界产品开发的基础原型,支持进一步的技术创新和功能扩展。 其他说明:文中提供的模型不仅符合国际标准,而且具有良好的兼容性和可移植性,能够适应多种应用场景的需求。同时,作者鼓励读者在此基础上进行二次开发,探索更多可能性。

Global site tag (gtag.js) - Google Analytics