急求一个文本编辑器下载程序,要在串基本抽象数据型上构建

如何用C#编写文本编辑器(2)
◆在结束当前行时需要计算文档元素在当前行中的相对位置,若当前行是由于情况1而导致结束的则需要修正元素间距,由于文档行所有元素的宽度和不一定等于容器的显示宽度,因此若没有进行修正则文档的右边缘参差不齐,
◆在结束当前行时需要计算文档元素在当前行中的相对位置,若当前行是由于情况1而导致结束的则需要修正元素间距,由于文档行所有元素的宽度和不一定等于容器的显示宽度,因此若没有进行修正则文档的右边缘参差不齐,影响美观,因此需要计算元素宽度和和容器的显示宽度之差,将该宽度差比较均匀的插入到各个文档元素之间,这样文档的右边缘则比较整齐。为了保存这个修正值,在TextElement中新增一个WidthFix属性来保存该值。其实大家可以观察到IE显示文档内容时没有进行右边缘的修正而Word则进行了类似的修正
◆若当前行是由于最后一个元素强制分行而结束的则无需进行由于情况1而导致的右边缘修正,但计算文档元素位置时需要进行文档对齐方式的修正。首先找到影响当前文本行的段落对象,获得它的对齐方式设置(左对齐,右对齐,居中对齐),根据对齐方式来计算元素见的空白,然后设置元素的WidthFix属性
◆此外还需要修正元素在文档行中的顶端坐标,由于同一行的文档元素高度不一定一致,此时需要遍历所有的元素,以最高的元素的高度为文档行的高度,以此计算元素在文档行中的顶端位置,以保证各个元素的低边缘在同一水平线上
◆结束完毕的行对象添加到容器的Lines文档行集合中,然后创建创建一个文档行对象作为当前行,如此循环直到处理了容器对象所有的内容
◆产生了所有的文档行对象后根据容器对象的在视图区域中的坐标和文档行的行间距设置来计算文档行在视图区域中的坐标,这样文档行中所有的元素的在视图区域中的坐标就是文档行的坐标和元素在文档行中的相对坐标的和
◆在修改文档行中元素的位置时,需要获得元素旧的在视图区域中的最小外切矩形数据,然后和重新计算过的最小外切矩形进行比较,若两者不一样则表示元素在视图区域中显示的位置发生改变,将这两个矩形添加到文本编辑器重绘矩形集合中,当文档重新分行完毕后,文本编辑器就将所有的重绘矩形进行加法操作,获得的矩形就是需要重新绘制的区域。如此这样是为了优化显示操作,减少页面闪烁;因为用户修改了文档内容后到而导致的分行只是影响显示区域中一部分,而其他部分虽然重新计算了位置但新旧位置没有差别,因此不需要重新绘制。
其实关于分行操作应当还有更优化的方法,但本人能力有限,只能提出这种方法。试验证明,在处理小的文档时程序运行速度还行,但当文档内容很多,有数万个字符时,分行速度就很慢,还望高手提供解决之道。
为了表示整个文档对象,还定义了文档对象TextDocument ,该对象在文档对象模型中是个最大的对象,我没有模仿其他文档对象的模式将其从TextElement派生过来的,而是直接定义的。该对象用于从整体上操作文档,并列出了一些操作文档的基本操作,比如删除,复制粘贴等。此外还提供一套方法来实现VBA的功能。
此外还定义了文档内容管理对象Content ,该对象隶属于TextDocument对象,用于管理所有的文档元素,它定义了属性Elements,该属性为一个保存了文档所有元素对象的列表。该对象还定义了属性SelectStart来表示插入点的位置,SelectLength 来表示选择区域的长度,为0表示没有选中任何元素,为正数则表示从插入点向后选中了若干个元素,为负数则表示从插入点向前选中了若干个元素。本对象还定义了一套处理插入点的函数,比如向左向右移动若干个元素,向上向下移动一行。大家都知道,在文本框中可以直接用光标键来移动插入点,也可以使用光标键时同时按下Shift键来移动插入点并选择文档内容,用户也可以用鼠标点击操作来移动插入点,鼠标点击的同时按下Shift键也能移动插入点选择文档内容;为此在Content对象定义了属性AutoClearSelection,当设置了该属性则移动插入点时设置SelectLength为0,若没有设置该属性则移动插入点时设置SelectLength值,使得新插入点和旧插入点之间的元素被选中,这样文本编辑器根据用户是否按下Shift键来设置AutoClearSelection属性就行了。用户修改了插入点和选择区域,则文本编辑器需要重新绘制用户界面,此时需要优化,只重新绘制选择状态发生改变的元素。可以证明,当选择的元素为连续的,则无论如何的修改选择区域和插入点,最多只有两片区域中的元素的选择状态发生改变。因此只要获得这两片区域的起始位置和长度,然后重新绘制这两个区域中的元素即可。
用户可以对文档进行很多种操作,比如移动插入点,选择元素,设置字符的字体颜色和大小,插入文字和图片,修改元素的设置,删除剪切复制粘贴等等,有好几十种操作,而且这些操作在某个时刻是不可用的,需要进行判断,若这些操作都在TextDocument中定义相应的接口函数,则TextDocument类代码太多,过于臃肿,而且每新增一种操作都需要修改TextDocument,因此在此提出动作这个概念。动作就是一个实现某种文档操作的类型,该类型有统一的接口,并使用TextDocument或其他对象提供的基本的操作来实现比较复杂的操作。为此定义动作基础类EditorAction,该类为抽象类,它的主要接口有:
◆HotKey 字段,动作对应的热键代码,,动作对象初始化的时候设置该动作对应的热键
◆KeyCode 字段,触发动作时的键盘按键编码
◆ShiftKey 字段,触发动作时的Shift键状态
◆ControlKey 字段,触发动作时的Control键状态
◆AltKey 字段,触发动作时的Alt键状态
◆MouseX,MouseY 字段,触发动作时的鼠标光标在视图区域中的坐标
◆MouseButton 字段,触发动作时的鼠标按键状态
◆Param1,Param2,Param3 字段,动作的参数,其意义由具体的动作决定
◆TestHotKey 函数测试键盘热键,本函数由文本编辑器调用来判断是否触发某动作
◆ActionName 只读属性,动作名称
◆isEnable 动作是否可用
◆Execute 执行动作
◆OwnerDocument 动作对象所操作的文档对象
各种实际的动作对象都是从EditorAction派生的,若对象有热键则在初始化时设置HotKey字段,首先重载ActionName给定一个名称,然后重载Execute来实现各自的动作处理过程,还可根据需要重载isEnable或TestHotKey。
在TextDocument中有个属性Actions,该只读属性为包含各种动作对象的列表,当TextDocument初始化时就初始化该动作对象列表,当文本编辑器获得输入焦点时按下键盘按键则程序会遍历Actions中所有的动作,进行热键判断,若命中热键则执行该动作,其他应用程序也可根据各个动作的isEnable属性来设置文本编辑功能按钮和相应菜单的可用性。
比如定义复制动作对象EditorCopyAction,该类型从EditorAction派生的,重载ActionName使其返回&copy&;重载isEnable,当文档有被选中的部分则返回True否则返回False,重载Execute来调用TextDocument中实现复制功能的函数,该对象初始化的时候设置HotKey为 System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C,这样定义了该动作的热键为Ctl+C。
这种动作处理的模式还便于程序进行扩展,其他应用程序也可往动作列表中添加自定义的动作对象,这样文本编辑器就能自动应用该动作。应用程序还可修改各种动作的热键设置来实现用户操作的个性化。
其实这种动作处理的模式我是看了SharpDevelop的文本编辑器部分的源代码而领悟的,拿过来用用,实践证明还是很不错的。
我既然做的是文本编辑器当然支持复制粘贴功能了,首先将将复制操作。程序可以同时向Windows剪贴板发送多种格式的数据,这些数据可以是纯文本的,也可以是图象或者自定义格式,其他程序在进行粘贴操作是可以选择其中所需格式的数据。例如大家在VS.NET的代码窗体中复制某段代码,粘贴到Word和记事本中的结果是不一致的,虽然文本内容是一样的,但粘贴到Word中连代码文本的颜色也显示出来的,而记事本则是纯文本数据。大家可以用剪贴板查看器clipbrd.exe来实时查看Windows剪贴板中的内容。在.NET中向剪贴板发送数据还是比较方便的,首先实例化一个System.Windows.Forms.DataObject对象,调用它的SetData方法,该方法第一个参数为格式的名称,第二个参数为数据,可以多次调用该方法来保存不同格式的数据,然后调用静态库函数System.Windows.Forms.Clipboard.SetDataObject 方法即可。在这个文本编辑器中复制数据时同时向系统剪切板保存两种数据,首先保存文档中被选中部分的纯文本数据,然后将被选中的部分转换为一个XML字符串,然后使用自定义的格式名称保存进去。这样其他程序就能使用其中的纯文本数据了。程序在进行粘贴操作时首先调用静态库函数System.Windows.Forms.Clipboard.GetDataObject方法,获得一个 实现了System.Windows.Forms.IDataObject接口的对象,然后调用它的GetDataPresent方法,若发现其中有我自定义的数据则读取该数据,然后将其中的数据当作字符串取出来,这是一个XML字符串,解析该XML字符串,并生成一系列的文档元素对象插入到文档当前位置,这种粘贴操作能将所有的文档元素及其格式给粘贴过来。若没有自定义数据但是有纯文本数据,则读取纯文本数据,并根据文本生成一系列文本元素对象,然后插入到文档当前位置。
文档对象还支持VBA,.NET框架支持VB.NET脚本语言,.NET类库中的类 Microsoft.VisualBasic.Vsa.VsaEngine及接口 Microsoft.Vsa.IVsaSite 就支持脚本语言。我参照HTML文档对象模型,在VB.NET的基础上设计一种处理文档的脚本语言,该语言中直接使用脚本全局对象document就访问了文档对象TextDocument,而使用document.all就能访问文档中的某些做了标记的文档元素对象,使用 dbconnection 就能使用文本编辑器后台使用的数据库连接对象,使用eventobj访问文档编辑器触发的事件的信息,使用vbsystem来调用某些例程。首先定义一些类型,用于实现脚本全局对象dbconnection,eventobj,vbsystem的功能,而全局对象document的类型就是TextDocument,已经实现,但document.all还未实现,为此在TextDocument中新增只读属性all,该属性返回一个System.Object类型的对象,由于document.all的类型中定义的字段根据文档的内容而动态改变,因此需要使用.NET的反射机制动态的创建对象类型并实例化对象,其创建过程为:
◆新增一个System.Reflection.AssemblyName对象,设置其Name属性为&RunTimeTextDocumentLib&
◆使用AppDomain.CurrentDomain.DefineDynamicAssembly来创建一个程序集生成器System.Reflection.Emit.AssemblyBuilder
◆使用程序集生成器的DefineDynamicModule来创建一个模块生成器
◆使用模块生成器的DefineType来创建一个类型生成器,类型名称为AllElements
◆遍历文档内容,根据名称和特定文档对象的对应关系生成一个按名称访问的哈希列表
◆遍历哈希列表中的名称,使用类型生成器的DefineField方法创建一个公开字段,字段类型为object类型
◆使用类型生成器生成一个新的类型System.Type,然后动态创建一个该类型的实例,这样动态生成了AllElements对象
◆遍历文档元素对象哈希列表,使用System.Type.InvokeMember向该AllElements对象设置字段值
安全性测验:测试您的安全性 IQ
C#中空值的判断
(责任编辑:admin)
------分隔线----------------------------
前言 小弟从大学里开始接触编程也有6年了,工作4年也是干编程的活,见过不少程序,自...
在讨论这个问题之前,我们先了解这样一种观点,线程之间的通信是通过发信号来进行沟通...
private void KillProcess(string processName) { System.Diagnostics.Process myproc...
//解决:在很多情况下,我们并不知道对象是否支持某一接口,这时,可以试图讲对象转化...
一、 环境设置首先去除VS开发环境中的一些选项如下:粘贴时调整缩进将类型的左大括号...
方法一、 int转IntPtr int i = 12;&n...几款常用的在线文本编辑器程序 - 官方博客 - 朝暮数据
按域名类别
域名周边服务
域名实用工具
服务承诺:下单后5秒内开通,否则赔偿双倍延迟时间。
大洋洲地区
大洋洲地区
大洋洲地区
用户名/手机号/邮箱
几款常用的在线文本编辑器程序
标签 文本编辑器
阅读 1305 次
在线文本编辑器这个东西,我想设计过网站的人一定不会陌生,特别是使用CMS建站系统的。我们平时用的Office Word,上面有BIU,字体大小,字体颜色等,这就是离线的文本编辑器。而在线文本编辑器就是我们平时在网上写博客,写文章时候用到的,比如这篇文章就是用在线文本编辑器写出来的。下面就讨论下几种常用的在线文本编辑器,以及他们的优点。FCKeditorFCKeditor是一款功能强大的开源在线文本编辑器,它是轻量级的且不必在客户端进行任何方式的安装。FCKeditor兼容 Firefox, Mozilla, Netscape 和 IE等各种浏览器。优点是所见即所得,支持平台众多,支持常见的编辑、复制、粘贴、撤销、文件上传等功能。FCKeditor现在改名CKeditor,官方网站是:KindEditorKindEditor是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。 KindEditor 使用 JavaScript 编写,可以无缝地与 Java、.NET、PHP、ASP 等程序集成,比较适合在 CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用。官方网站是:eWebEditoreWebEditor是一个基于浏览器的在线HTML编辑器,WEB开发人员可以用她把传统的多行文本输入框&textarea&替换为可视化的富文本输入框。eWebEditor主功能不需要在客户端安装任何的组件或控件,操作人员就可以以直觉、易用的界面创建和发布网页内容。您可以通过eWebEditor自带的可视配置工具,对eWebEditor进行完全的配置。eWebEditor是非常容易与您现有的系统集成,简单到您只需要一行代码就可以完成eWebEditor的调用。这款编辑器不是完全免费的,分试用版和商业版。官方网站是:UEditorUEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于BSD协议,允许自由使用和修改代码。百度公司专业打造,所以他的优势还是非常突出。优点有:功能全面、用户体验、开源免费、定制下载、专业稳定。官方网站是:以上就推荐4种目前最流行,最常见的在线文本编辑器。特别推荐的是FCKeditor和百度的Ueditor,前者是国外最老牌的开源编辑器,一直沿用至今,并且定期更新;而后者是国内互联网巨头百度公司开发的产品,界面美观,符合中国人使用习惯,而且还有特别针对PHP,.Net和JSP的定制下载。各位建站和编程爱好者们,还不行动起来,给你的网站搭配上这些时尚的编辑器吧!
021-(传真)> 文本编辑器的实现
文本编辑器的实现
在电子工程世界为您找到如下关于“文本编辑器的实现”的新闻
文本编辑器的实现资料下载
程序化地创建Python Cocoa GUI
11.19 用IronPython实现淡入窗口
第12章 XML处理
12.1 检查XML的格式完好性
12.2 计算文档中标签的个数
12.3 获得XML文档中的文本
12.4 自动探测XML的编码
12.5 将一个XML文档转化成Python对象树
12.6 从XML DOM节点的子树中删除仅有空白符的文本节点
5.3.1 数据访问技术5.3.2 方案选择第6章 代码与文本编辑6.1 编辑器快捷命令与特性6.2 改变和选择文本6.3 拖动文本6.4 代码格式管理6.4.1 缩进6.4.2 隐藏文本6.4.3 把文本转化成大写或小写6.4.4 显示并链接至URLs6.5 采用渐进式搜索查找文本6.6 代码和文本打印问题6.7 代码编辑器和视图管理6.7.1 改变IDE视图模式6.7.2 生成新的窗口6.7.3...
  本书并未假设此前你对程序设计的知识有所了解,不过本书会很快地从基本概念转入到实际应用。学完了本书,你就为自己的C语言程序设计奠定了全面的基础。
  使用本书的条件
  要使用本书,需要一台安装了C语言编译器和库的计算机,这样才能执行书中的示例,还需要一个程序文本编辑器,用于创建源代码文件。你使用的编译器要很好地支持C语言国际标准:ISO/IEC 9899。你还需要一个用于创建和修改...
十分方便快捷。34.如遇到快捷键失效,如^o失去作用,变为正交模式切换的情况,请用menu将当前使用菜单的.mnu菜单源文件重装一遍即可。35.在多行文字(mtext)命令中使用Word97编辑文本。 Mtext多行文字编辑器是AutoCAD R14中的新增功能,它提供了Windows文字处理软件所具备的界面和工作方式,它甚至可以利用Word97的强大功能编辑文本,这一功能可以用如下方法实现...
  10.3 接口的实现 201   10.4 部分类定义 204   10.5 部分方法定义 206   10.6 示例应用程序 207   10.6.1 规划应用程序 207   10.6.2 编写类库 208   10.6.3 类库的客户应用程序 214   10.7 小结 215   10.8 练习 216   第11章 集合、比较和转换 217   11.1 集合 217   11.1.1...
用richtext实现的文本编辑器...
1 任务 设计一个文本编辑器。 2 基本要求 1 如图所示,设计一个有菜单栏的编辑窗口,在该窗口可以实现文本的输入,利用DEL键、BackSpace键、Home键、End键、上下左右光标键,实现对输入文本的全屏幕编辑。 2 实现文件的新建、打开、保存、另存为与退出等功能。 包含 设计思路、技术报告、和不同阶段的设计源代码 扩展要求 1 要求使用彩色组和背景颜色来设计界面颜色。 2 模拟一些著名...
1 任务 设计一个文本编辑器。 2 基本要求 1 如图所示,设计一个有菜单栏的编辑窗口,在该窗口可以实现文本的输入,利用DEL键、BackSpace键、Home键、End键、上下左右光标键,实现对输入文本的全屏幕编辑。 2 实现文件的新建、打开、保存、另存为与退出等功能。 包含 设计思路、技术报告、和不同阶段的设计源代码 扩展要求 1 要求使用彩色组和背景颜色来设计界面颜色。 2 模拟一些著名...
系统开发3.4 系统级软件设计技术o 嵌入式系统固件与系统初始化设计o 设备驱动程序设计o 硬件抽象层、板级支持包设计o 嵌入式软件的移植技术4.嵌入式系统开发技术4.1系统开发环境4.1.1开发工具o 文本编辑器o 汇编、编译和连接程序o ICE和ICE监控器o 配置管理工具o 逆工程工具4.1.2平台o 操作系统o 分布式开发环境4.1.3开发环境创建方法及评估o 开发工作分析o 开发环境的建立o...
VRML境界学习者能体味到一种近乎自然界的声音。而将来,随着VRML技术的进一步发展和完善,冷热、质感等感知信息的体现必将变成完全可能的事情。1.3 VRML是一种实用化的虚拟现实建模语言。VRML文件是以扩展名.wrl或.wrz等结尾的,是一种用来描述几何形体的简单的ASCII文本文件,VRML的编辑工具可以是任意一种文本编辑器。VRML文件不需要任何编译,直接由浏览器解释执行,可以方便的实现桌面...
文本编辑器的实现相关帖子
掌握吧,免得去麻烦别人。
按开发板手册即可操作,你甚至不用管里面的原理。
③ 掌握Makefile:
可以看如下第3期视频,以后编译程序时只要执行make命令即可:
第1课第4节_数码相框_编写通用的Makefile
④ 学习第1个项目:数码相框
该项目不使用任何开源的GUI项目,完全是自己构建一套GUI系统,实现了文件浏览、文件显示(文本和图片)、图片操作(放大、缩小、自动播放)等功能...
23:04 编辑
编译程序就行了!用GCC就行了,开源的,你完成了代码生成,下一步就是编辑与链接了!生成程序的大至就是,预处理、编译、汇编、链接、包括MDK与IAR都是一样的,都由几个工具组成的,一个文本编辑器,用来写程序,在你这里已经自动生成了也就是这个工具你本身就有了,第二个就是编译器成行编译与汇编,你用GCC就行了,只是几个命令的问题。第三个是链接器 也用GCC就行了...
。(12).apt-get:在ubuntu中用于在线安装,在线更新或者现在的程序注:要使用apt-get实现安装功能,必须处于联网状态且具有root权限apt-get install program_name 安装软件apt-get update& && && &更新软件列表apt-get upgrade 更新已安装软件5、编辑器vi的基础...
以下这些Linux操作系统下C语言编程注意事项,你都注意到了吗?
1工具的使用
1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成...
linux常常用到文本编辑,如何高效的利用vi编辑器以及sed流处理器也变的比较重要
增加 a (append)
删除 d(delete)插入i(insert)对于常用的命令,他所带的参数,往往记一下他的全称会显得更容易
///ggjucheng/archive//2856901.html简介sed 是一种在线编辑器,它一次...
工作不可能由一个人去实现,于是出图就成了前端美工,切图出html css就成了前端切图,js就成了前端交互。一般情况下出图和html页面是一个人完成,而js效果由程序员去写,因为毕竟都是程序脚本,程序员学起来相对容易一些。
& &&& 二、学习web前端用什么工具比较好?
前端开发最爽的地方就在于,一个文本编辑器 + 一个浏览器就可以玩了!但js那尿性...
;& myled.off()复制代码
这些命令将控制 LED 的亮和灭。
这种方式不错,不过我们将尝试让其更智能化。在你擅长的文本编辑器里打开 pyboard 里边的 MAIN.PY 文件,写入或粘贴如下的代码。如果你是 python 新手,那么希望从此开始你能对 python 有正确的认识印象。
led = pyb.LED(2)
while True:
& &nbsp...
. pycdc.inf&&确认 USB 设备连接的 Windows 配置文件,之后的教程中有更多的介绍。
2.3 编辑mian.py
现在我们可以开始编写自己的 python 程序了。用文本编辑器打开 main.py 文件。Windows 环境下可以使用记事本或者其他编辑器。Mac 和 linux 下使用你喜欢的文本编辑器即可。
打开文件后你将看到如下的一行:
# main.py...
编辑器和生成器功能,可生成SBench6所有组件的个人使用报告。
一份报告可包含模拟、数字、FFT、直方图、散点图和x-y显示。此外,所有的测量结果,光标位置,项目信息、硬件信息和完整的硬件配置可以以单值或概述表的形势添加到报告中。
自由文本字段、线条和图片可以添加到报告的备注信息中。
报告模板本身是xml代码,可以手动改变或利用标准代码管理软件归档。
报告内容可以生成pdf,可以...
及有限元程序系统纷纷问世的原因。
  这些有限元程序虽然解决了部分工程师和科学家的某些需要,但距离满足他们大多数人的普遍需要来说相差甚远。其原因是,首先,一个有限元程序,不管它多么庞大,通用性多强,也只能解决很少一部分问题。用户往往要修改或加进一部分程序才能达到自己的目的,而这些工作如果没有原程序编制者的参加一般是十分困难甚至是办不到的。第二,有限元程序并不象算法语言那样有统一文本,按某种语言...
文本编辑器的实现视频
文本编辑器的实现创意
本周热门资源推荐“政府信息”的司法认定_行政法研究_中国宪政网
“政府信息”的司法认定
作者:王军 &
&&&&摘要:& 《中华人民共和国政府信息公开条例》对“政府信息”的定义富含较大的解释空间。通过研究现有判决事例发现,法院在判断中着重从信息产生主体、信息产生性质、信息产生方式、信息存在方式四个要点进行了审查,继而可以归纳为判断“政府信息”的三大司法要件:行政职权的行使、行政机关的实际持有和信息的实际记载。这一标准为法条中的不确定概念提供了基本解释取向,但还需要经过嗣后同类或者类似案件的检验,才能成为符合现实需要、回应条文内涵的司法认定标准。
&&&&关键词:& 政府信息;信息公开;司法审查;判例研究
&&&《中华人民共和国政府信息公开条例》(以下简称《条例》)实施已逾五载,关于“政府信息”的定义主要体现在该《条例》第2条的规定中:“本条例所称政府信息,是指行政机关在履行职责过程中制作或者获取的,以一定形式记录、保存的信息”。由字义解释出发,政府信息的构成大致上包含了行政机关、履行职责、制作或者获取和以一定形式记录、保存四方面的因素,但是就这四方面因素本身而言,如何能较为清晰地划定每一部分所应有的内涵?这一界定不再是立法者立法时“违反计划的不圆满性”问题,而是执法者、司法者理解适用时的解释问题。
&&&“政府信息”公开的司法实践也遇到了判断上的瓶颈,这从频繁现诸媒体的对于何为“政府信息”的争论即可窥见一斑。例如,在新近发生的赵正军诉卫生部政府信息公开一案中,原被告双方的争议焦点即为涉案会议纪要是否属于《条例》第2条规定的“政府信息”的问题。同样的情形也出现在坊间热议的深圳律师庞琨向铁道部申请公开火车票票价中是否包含“5100矿泉水”系列案件中。这些争议一方面源于立法中语言表述的空缺性结构,另一方面也可能与《条例》中对政府信息不予公范围的规定过窄有关――其可能导致行政机关因无法应对当事人的申请而将某些信息归为“非政府信息”。
因此,鉴于理论和实务上存在的诸多困惑,有必要总结已有的学术研究并抽象出初步的学术框架,对“作为理解之学问的法学”通过法解释的方法来理解其规范性意义。其中,最好的方案之一即是将研究的视角置于法院司法过程之中,立学术关怀于发掘判决中“政府信息”的认定标准,并进一步挖掘出其中涉及的具体要素,以试图总结我国当前对于“政府信息”具有事实上拘束力的认定标准,为之后同类或者类似案件的判断提供可能的参考。
一、理论研究的框架
  自《条例》实施以来,我国行政法学界对于“政府信息”概念的研究也逐渐呈现增多之势。笔者在本文初稿写作时,以“政府信息公开条例第2条”为关键词,在“中国知网”数据库中进行检索,可以命中13553条研究结果,其中包括期刊文章、报纸文章、博硕士论文、会议文集等资料。重点检阅其中对于“政府信息”的概念构成、认定方式的研究可以看出,理论研究的框架包含了主体要素、内容要素和形式要素三个要点。
  第一,主体要素。一般认为政府信息的制作主体是行政机关,但是对于行政机关的解释则存在着很大差异。最狭义的解释认为政府信息就是政府的信息、行政机关的信息,也就是与企业信息、其他非行政机关信息、个人信息相对的概念,这是将行政机关进行最严格解释的方法。较为宽松的解释认为,此处的“行政机关”指广义的行政机关,不仅包括各级人民政府及其组成部门,还包括法律法规授权管理公共事务的组织,例如证监会、银监会、保监会等事业单位。当然,还有观点认为应当将立法机关、司法机关等制作或获取的政府信息纳入应予公开的范围,这实际上是将政府信息公开的义务主体扩展到了几乎所有的公共部门。
  第二,内容要素。这涉及对于“履行职责过程中制作、获取”的理解。其一是“履行职责”,有的研究意识到了“职权应属于行政管理的属性”这一问题,并将其划分为应当履行的职责和实际履行的职责,从而得出结论:不管行政机关是否合法行使职权,其产生的信息都是政府信息。有的研究持相同见解,并进一步将民事关系、刑事关系排除出“履行职责”的范畴。其二是关于“获取”的理解,有的研究认为其包括“从其他国家机关、社会组织以及公民个人那里获取的相关信息”,也即存在一个非政府信息与政府信息之间的转化过程,但是有的研究认为获取的口头信息、个人信息或者商业信息如何认定还存在较大争议。
  第三,形式要素。对于“以一定形式记录、保存”的理解,有的研究认为应是“正式的、书面文字的形式”,这与有的研究认为“载体应该是能够为人类所感知”相比无疑是较为狭窄的。另外,对于政府信息的“现有性”,有的研究持支持态度,而有的研究则反对这一标准。
  相关的理论研究以上述三个要点为中心,形成了初步的研究框架,可以为接下来的研究提供理论上的指引。同时,这一框架内部仍存在着大量的可供讨论的空间,特别是对于每个要点下规范的内涵理解还莫衷一是,需要在接下来的研究中进行观察、验证,因此,运用判决事例研究“政府信息”的认定问题存在必要性。
 二、判决事例的选定
  鉴于本文的着眼点在于对《条例》相关概念的认定,因此判决的选择也以该法的实施时间――2008年5月1日――为年份起点开始收集。通过对现今较为常用的“北大法宝”、“北大法意”两大数据库进行全文搜索,截至2012年底,涉及《条例》第2条的判决,“北大法宝”数据库收录37件,“北大法意”数据库收录94件。经过逐一阅读和分析,排除24件重复收录判决和21件仅涉及事实认定的判决,最终共有86件判决事例涉及认定“政府信息”的司法标准问题。
  这86件判决事例的典型性和代表性,可以从这些判决事例的判决时间和判决地域两方面获得支撑。一方面,以时间为序梳理86件判决事例,可以发现从2009年的4件相关判决到2010年的17件、2011年的18件,再到2012年的47件,数字本身是呈现增长的。尽管受当前我国审判书公开不充分的影响,这些数字本身可能无法直接说明自《条例》实施以来案件的整体增减状况,但还是能大致看出问题的端倪:我国关于“政府信息”争议的行政诉讼案件有不断增长的趋势,这与从媒体上该类纠纷越来越常见的现实状况是相吻合的。另一方面,从地域的角度来看,这86件判决主要涉及了上海(68件)、浙江(8件)两地的审判状况,并涵括了湖南省、辽宁省、河南省、广东省、四川省和山东省等地的判决。虽然不能在统计学意义上实现对于数据的全样本取样,但是考虑到这些判决都是已有的公之于众的裁判文书,其对于现阶段法院的审判实务来讲都是最直观的反映,即便存在不全面的问题,也不影响将其作为研究素材,着力于用描述的方法将法院视野中的“政府信息”做整体上的勾勒,并为之后“画幅”的完成提供最为基础的局部构造。
基于上述86件判决事例提供的信息,考虑到并非法官在判决中所说的一切都构成判决理由,接下来的行文将立足于展现法院在审判中对“政府信息”进行的司法认定,特别是运用的认定方法和标准。然后进行归纳整理,力图抽象出更具有一般意义的认定标准。
三、法院审查“政府信息”的情形
  结合前已归纳的理论研究框架――从主体、内容和形式三个角度进行分析的进路,逐一分析86件判决事例中涉及“政府信息”的内容,可以进一步管窥法院的司法认定标准。在这一过程中,法院对于主体和形式的审查较为明了,而对内容的审查则涵括较广,因此接下来将其分割为信息产生的性质和信息产生的方式两大方面分别予以讨论。
  (一)信息产生的主体问题
  《条例》在第1条中明确规定了“提高政府工作的透明度,促进依法行政”的立法目的,这就意味着《条例》规范的主要对象为行政机关,即使存在公共企事业单位信息参照信息公开的问题,也无法撼动行政机关处于政府信息公开“主力军”的地位。当前对于“行政机关”的认识本身争议较少。比如在“张某某与上海市浦东新区金桥镇人民政府案”中,原告张某某申请被告公开该镇党委书记针对案外民事案件作出的批示。法院判决认为,“党委书记作出的批示”不属于《条例》第2条所规定的政府信息,一方面这一批示非镇政府作出,另一方面也不是由行政机关作出。这就从信息产生主体的角度对于“政府信息”进行了判断,认定党委书记或者其所代表的党委不属于信息公开的义务主体。
  另外,对于信息公开义务主体的讨论还要关注公共企事业单位的问题。《条例》第37条为公共企事业单位的信息公开提供了最为基础的适用原则,因此还有待法院在司法实务中进一步解释、细化。着眼于《条例》的体系融贯,政府信息公开的义务主体一般意义上确实是行政机关无疑,这也是整个前36条的规范对象所在,而37条的适用则属于例外情形下适用的依据,也有学者将其称之为“最小存留适用规则”。在“中国联合网络通信有限公司南阳分公司与王聚才不履行信息公开答复职责纠纷上诉案”中,法院认定包括中国联合网络通信有限公司南阳市分公司在内的邮政、电讯等行业经营者属于公用企业(即公共企事业单位),因此其制作和获取的信息也属于政府信息,应当按照《条例》的要求进行公开。类似的情形也出现在“张宇不服北京市西城区房屋土地经营管理中心政府信息公开行为案”中,法院考虑到“作为事业单位的房屋土地经营管理中心是该区公房的管理、经营、服务者,其社会公共服务行为无疑与人民群众的利益密切相关”,因此将该房屋土地经营管理中心制作的信息也认定为政府信息。这就说明,公共企事业单位也是负担政府信息义务的法定主体,只不过其履行公开义务可能存在特殊性。
  (二)信息产生的性质问题
  根据《条例》第2条的规定,“履行职责”成为判断政府信息的必要内容,也即当且仅当某一信息的产生具备了“履行职责”这一性质时才有可能成为政府信息。一般而言,所有的关于“行政”职责的问题在组织法上都源于我国《宪法》第85条和第89条的规定,其中前者是对于国家最高行政机关的确定,后者则是对最高行政机关所行使的职权的划分。以此为基础,所有对于“行政”的判断必然落脚在第89条所列举的18项职权内容之上,也即只要能适用该条的规定,那么系争权力自然就可纳入行政职权。从86件判决事例来看,涉及该问题的争议主要可以分为四类情形:行政机关有无相应职责的判断,行政机关参与民事活动时的职责判断,行政机关行使刑事权力时的职责判断和内部信息情形下的职责判断。
  1.行政机关有无职责的判断。鉴于现实生活中公众接触行政机关的场合五花八门,无法完全知悉行政机关的所有职权,再加上诸如“联动执法”、“共同破案”等现象的频繁出现,对于行政机关职责的理解往往成为案件中争议的焦点,最突出的反映是当事人确实看到某行政机关在现场执法却无法弄清其是否有职责制作或者获取信息。比如,虽然富阳市政府组织了统一征地行为并发布了青苗及地上附着物补助费款项和补助标准,但法院认为当事人申请的“款项的计算、补偿的时间”等信息不属于富阳市政府的公开职责,而是由当地村集体经济组织负责提供这些信息。在原告韩某申请公开“村民委员会选举时,大连市甘井子区某街道办事处同意村民吴某参选的会议纪要”时,法院认为某街道办事处没有相应的行政职权来同意某一村民参加选举,因此该会议纪要不是在街道办事处履行职责的范围之内制作的,也就不属于政府信息。另外,在申请上海市公安局公开“上海市房资产经营公司豫园某街坊动迁办公室印鉴备案”的政府信息时,法院认为公安局只有审批刻制公章的权力,而没有对印鉴进行备案的权力,因此这一信息不是履行职责过程中的信息,也就无法构成政府信息。同样的情形在“王某与山东省某厅履行信息公开法定职责纠纷案”、“蔡某与上海市某新区环境保护和市容卫生管理局案”、“ A与甲单位政府信息公开上诉案”中都有相应的体现。这说明,对于行政机关职责的判断直接关系到政府信息的成立与否,特别是在多个主体混杂的情形下,更有必要区分各机关的职权。
  2.行政机关参与民事活动时的职责判断。行政机关在现实生活中除了扮演行政管理者的角色以外,还会在一些民事活动中以参与者等平等民事主体的角色出现,这一方面引发了公民在此情形下对于申请公开相应政府信息的意愿,另一方面也对法院如何判断政府信息提出了挑战。总体上来看,法院往往借由民事主体身份下的行政机关有没有履行职责的因素来得出该情形下的信息是否属于政府信息的结论。在“陈A与上海市黄浦区绿化和市容管理局案”中,原告向被告申请公开收到《房屋拆迁期延长通知》的“记有签收时间的收文单”。法院认为,这一信息系被告以拆迁人的身份收取的房地行政主管部门函件的收文记录,并不存在行政职责的行使,该信息也就不是政府信息。不仅如此,只要行政机关以拆迁人的身份出现,法院会认定“作为拆迁人的行政机关与当事人之间产生的关系为民事法律关系,而非其在履行行政职责”,这期间所产生的各类信息均不属于行使行政权过程中的信息,也即并非《条例》第2条规定的政府信息。此类判断在2009年至2012年的相关案件中都有例证,这足以引起对该问题的关注和重视。
  3.行政机关行使刑事权力时的职责判断。这一问题最典型的涉案主体当属具有行政职能和刑事司法职能双重属性的公安部门。在“张某与长沙市公安局案”、“杜某某与上海市公安局案”、“刘某某与上海市公安局普陀分局案”和“邱某某与上海市公安局案”中,当事人申请的信息均系公安局行使刑事侦查权过程中制作、获取的信息。法院在审理中一致的观点是,公安局具有行政管理和刑事司法双重职能,前一过程中形成的信息属于政府信息,而后一过程形成的信息则不在政府信息的范围之内。同时,在“张某与长沙市公安局案”中,法院还在判决中提到“涉黑涉恶材料”属于刑事侦查活动中的信息而不是具体行政行为的信息,因此这些材料不属于政府信息。可以看出,该法院将《条例》第2条中的“履行职责”直接理解为具体行政行为,从而排除了其他一切行为。
  4.内部信息情形下的职责判断。在“朱某某与上海市黄浦区规划和土地管理局案”中,原告朱某某通过提出政府信息公开申请要求获取“名称:徐某某的工作简历、特征描述:含担任的法定代表人”的信息遭到被告拒绝。在两审判决中,法院都以《条例》第2条的规定作为依据,认为原告申请的内部信息――人事管理范畴的信息――不属于政府信息。揣度判决中法院的言辞表述,其将内部信息予以排除的做法实际上体现出其认为内部信息不涉及行政职权的行使,而仅仅是内部管理权限的运用。因此,在判断内部信息时,法院认为其缺失“履行职责”的要件从而无法构成政府信息。
  (三)信息产生的方式问题
  在符合信息产生主体和产生性质的前提下,讨论的问题就落在何为《条例》第2条规定的“制作、获取”。相对于“制作”的含义较为明确,“获取”这一法律用语就在当事人与行政机关之间产生了较大的分歧,也直接影响到了涉案信息能否成为政府信息的判断。通过梳理可以发现,法院对“制作、获取”的审查主要有以下情形:
  1.法定监督行为是否构成“制作或者获取”的判断。在“卫某某与上海市浦东新区建设和交通委员会”中,原被告双方争议的问题点在于被告是否获取了涉案信息――“上海浦东国际机场扩建工程(iv)浦建房拆许字(2005)第91号房屋拆迁补偿安置费用发放使用情况”。依照法院的认定,虽然根据《上海市城市房屋拆迁管理实施细则》等规定,被告应当加强对拆迁补偿安置资金使用的监督,但不能据此证明被告曾制作或是获取了原告申请的政府信息。可以看出,单纯从被告负有法定职责(监督职责)的角度,尚无法推论其在履职过程中必然“制作或者获取”了相关的政府信息。
  2.临时保管行为是否构成“获取”的判断。在“王某与上海市某区住房保障和房屋管理局案”中,原告王某申请被告公开“维修基金使用相关材料”,认为上海市某区住房保障和房屋管理局下属梅陇房管办工作人员王某代为保管了上述信息,也即获取了这些信息从而应当加以公开。法院在判决中认为,梅陇房管办虽依据《物业管理规定》临时代管上述材料但这些材料并非房管局制作,因此这样的保管不属于法律意义上的获取。可以看出,法院对《条例》第2条规定的“获取”建立了认定标准,分为该意义下的获取与非该意义的获取,前者需要在行使职责的过程中以一定形式记录、保存,而后者则是类似代为保管这样单纯的临时行为。这意味着,不涉及权力行使的临时行为,包括保管、代管、存放等可能都无法列入“获取”的涵括范围。
  (四)信息存在的形式问题
  《条例》第2条将政府信息的形式规定为“一定形式”,然而对于何为“一定形式”却没有任何说明。实践中,法院对于这一不确定法律概念的判断出现在争议较为集中的口头信息、逾期销毁的信息和预期产生的信息三种情形下。
  1.未记录的口头信息是否属于“政府信息”。在“张某与上海市规划和国土资源管理局案”中,原告要求被告公开“上海新昌房产经营有限公司的黄某某在被告处会谈之事,包括被告提出的解决问题的方案”等信息,法院认为这一信息双方未做过任何记录,而且原被告也都承认关于“解决问题的方案”是通过电话口头往来的,因此不符合政府信息的构成标准。可以看出,仅仅通过口头上的往来,又未作任何记录的信息不属于“以一定形式记录、保存”的信息,也就无法构成政府信息。
  2.逾期销毁的信息是否属于“政府信息”。针对原告申请被告公开“被告向上海千秋动拆有限公司企业印章的准刻证和相关信息材料”,法院认为“根据《关于重申刻制印章必须办理印铸刻字准许证手续的意见》的有关规定,企业刻制印章,需要由公安机关审核办理《印铸刻字准许证》。公安部门对各单位出具的申请刻制印章的证明凭据和出具准许证的存根的保存期限为三年,逾期予以销毁”。因此,原告申请的逾期销毁的信息不存在,也就无法公开。不难发现,法院运用了逾期销毁的信息并未以一定形式记录、保存这一逻辑,得出其不属于政府信息的判断。
3.预期产生的信息是否属于“政府信息”。在实践中,当事人根据规范性文件的要求、已有的公文等往往可以推论行政机关很可能制作或者获取了某类信息,从而申请公开。法院在此类要求公开预期产生的信息的案件中,采取的判断往往是“预期产生而未产生”应视为信息不存在,因为其还未能“以一定形式记录、保存”,不具有客观存在性,这在“陈某与上海市浦东新区建设和交通委员会案”中即有明显反映:原告申请公开的信息之一为“沪汇房地拆许字(2005)第73号的房屋拆迁承诺书”,因为其认为“依据《上海市房屋土地资源管理局、上海市建设和管理委员会关于建立房屋拆迁工作有关制度的通知》的规定,在申请房屋拆迁许可证前,拆迁人与接受委托的拆迁实施单位应与区县房屋拆迁管理部门签订《房屋拆迁管理承诺书》”,也即《房屋拆迁管理承诺书》这一信息预期应当由被告加以制作,但是法院认为被告虽然确实应当与相关拆迁人签署《房屋拆迁管理承诺书》,但被告却没有实际制作这项信息,因而其属于不存在的信息。
四、“政府信息”的司法认定标准
  从86件判决事例的整理来看,法院在判断“政府信息”时不同程度地对这一概念进行了内涵和外延的解释工作,有的法院甚至对这一大前提提出了一般的认定标准,比如在“李凯与四川省教育厅不履行公开信息法定职责纠纷上诉案”中,成都市中级人民法院在判决书中认为,“政府信息的法律概念包含以下几方面的内容:从信息产生的主体看,是行政机关;从信息产生的过程看,是产生于行政机关履行职责过程中;从信息产生的方式看,既可能是行政机关自身制作的,也可能是行政机关从其他国家机关、企事业单位等组织以及个人获取的;从信息的存在形式看,是以一定形式记录、保存的”。但是,仅有这一件判决事例给出了这样相对细化的解释,其他法院的判决都是在解决案件争点时零星提到了相关的认定标准,还需要进行归纳与整理。因此,着眼于将86件判决事例中的法院判决理由作为一个整体的研究对象进行抽象和提取,就会实现相应认定标准的整合,最终得出一套现行有效的关涉“政府信息”的一般意义上的司法认定标准。
  经过分析,法院在86件判决事例中所体现出来对于“政府信息”的认定标准主要包括三大要素:行政职权的行使、行政机关的实际持有和信息的实际记载,以下分别论述。
  (一)行政职权的行使
  该要素属于认定“政府信息”的前提条件,这意味着一旦在信息生成过程中出现行政职责阙如的情形,那么就可以直接得出结论而无需继续审查,实践中法院也是这样操作的。因为考虑到《条例》第1条明确规定了“提高政府工作的透明度,促进依法行政”的立法目的,也即立足于行政公开的政府信息公开制度,其是作为通过法定程序对行政权制约并吸纳相对人意见的制度途径而出现的,因此对“政府信息”的认定最终要回归到对于行政权的监督上来,也即必须要有行政权的存在。这一要素可以拆分为两大因子,其一是行政权的存在,其二是在职权范围内行使行政权。
  行政权的存在是首要问题,其目的在于解决处于争议中的信息是否是由有行政职责的机关所制作、获取。从组织法上来讲,《宪法》第89条规定的国务院18项职权可以看做是所有行政职权的终极来源。然而,具体到各个机关,则需要在《地方政府组织法》等规范文件中寻找其职权依据并明确职权的范围和界限,特别是需要具体到细化的职权项目上来。比如,在“蔡某与上海市某新区环境保护和市容卫生管理局案”中,法院认定被告上海市某新区环境保护和市容卫生管理局“仅负有对市政(公路)的设施养护等职权,并无城市道路建设等职权”,依据则为沪浦编(号《关于上海市某新区环境保护和市容卫生管理局职能配置、内设机构和人员编制规定的通知》第2条的规定。另外,从行为法上也可以检视行政权的有无,比如,当某一行政机关作为民事活动主体、刑事司法活动主体实施相关行为时,从行为的属性即可以判断行政权是不存在的,也就当然不会产生政府信息的问题。
  有了行政权的存在,还要强调行政权在职权范围内的行使,只有这样才可能产生政府信息。根据判决中法院的态度,这一情况往往出现在申请人向某一行政机关申请信息公开,经审理后发现行政机关获取的涉案信息并非其行使自身行政权而产生的情形下。比如在“王某与上海市某区住房保障和房屋管理局案”中,原告王某申请的信息为被告临时代为保管的“维修基金使用相关材料”,法院认为《物业管理规定》中的临时代为保管并不是被告的法定职责,而属于职责以外的行为,因此这一信息并不构成被告获取的政府信息。可以看出,作为被告本身是具备行政权这一要素的,但是由于案涉行为并非出于其行政权的职责范围以内,因此这一行为所获取的信息也无法构成政府信息,这是法院认定行政权存在之后提出的更进一步的要求:必须在职责范围内行使行政权。
  应注意的是,当行政机关在某一先行行为中出现不作为、超越职权等违法情况,那么其后续答复申请人政府信息不存在的行为应该如何来认定呢?根据法院的态度,当行政机关在某一行政行为中应当制作某一信息而未制作或者行使了不属于自身职权范围内的行政权并相应产生了某些信息,那么在后续当事人申请政府信息公开的案件中,这些信息很有可能被认定为不存在或者不属于政府信息从而不予公开,这可以从“陈某与上海市浦东新区建设和交通委员会案”中看出一些端倪:虽然原告申请的《房屋拆迁管理承诺书》根据相关规定应当由被告来签订,但是被告并未依法进行签订,此时法院的判断结论就认为先行行为是否合法不在判断范围之列,但是专就政府信息的认定来看,这一政府信息是不存在的。借此,可以合理推断在行政机关超越职权的情形下,其所形成的信息也非政府信息,但是这并不排除行政相对人可以针对超越职权行为本身采取行政复议、行政诉讼等救济手段。
  当然,行政职权的行使这一因素还要将内部管理排除在外,因为行政机关对于其内部公务员、人事制度等的事务管理一般不会产生对外影响,也较少会侵害到行政相对人的合法权益,而且这也是《行政诉讼法》明确列为不可诉的内容,所以这一过程中产生的信息也自然不属于需要进行公开的“政府信息”的范畴,这从法院对于“收发文记录”这类信息不构成政府信息即可得出结论。当然,这一观点是否可以扩展到政府机关的会计档案、补贴凭证等方面的内容,还有待个案的判断。
  (二)行政机关的实际持有
  具备了行政职权在相应职权范围内的行使这一要素,接下来探讨的重点就转移到信息是否为行政机关实际持有上来。之所以要讨论这一要素,系源于大量案件中都涉及对于“制作、获取”的争议,特别是对于“获取”更是产生了多元化的理解。总结判决中对这些争议的审查可以看出,法院的态度基本维持在行政机关有没有实实在在地持有被申请的信息这一基本原则上,也即法院采纳的是“实际持有说”,这突出体现在对于信息是否实际存在和信息是否实际持有的审查上。
  信息是否实际存在直接关系到行政机关能否实际持有。在大量的案件特别是房屋拆迁案件中,当事人为了实现对于政府信息的公开,往往会去寻找相应的要求行政机关制作该信息的法规范或者行政机关、司法机关曾经在其他文件中提及的文件来证明其所申请信息的实际存在。实践中,法院往往要求行政机关对于申请人提出申请的信息进行合理检索、查找,如果仍无法确定信息的存在,原因可以包括查找不到、预期产生而未产生、逾期销毁等,那么就会认定为信息不存在。
  行政机关的实际持有包含了行政机关自身制作信息和根据相应职权从其他机关、单位等获取的信息。从判决中可以看出,对于这一问题的争议焦点在于如何理解“获取”。对于信息公开的申请人而言,在很多情形下需要证明行政机关确实获取了某些信息,才有可能达到申请公开的目的,而对于行政机关而言,一般都是在职权范围内的获取才有可能产生政府信息的效果。在“朱某等诉杭州市人民政府土地行政公开纠纷案”中,法院认定案涉信息是存在的,而且根据《中华人民共和国土地管理法实施条例》第22条第1款第(三)项、第23条第1款第(三)项的规定,被告杭州市人民政府在颁发建设用地批准书的过程中肯定实际持有被申请的信息,因此判决由被告对其进行公开。可以看出,法院对于实际持有的判断最终影响了对于“政府信息”的认定。
  (三)信息的实际记载
  有了前述两个要素,行政机关在自身职权范围内行使行政权所实际持有的信息,那么最后需要探讨对于信息本身的要求,也即具备何种资格的信息才有可能被认定为“政府信息”。着眼于对“一定形式记录、保存”的解释,法院的判决中实际上已经初步建立了对于信息形式的认定标准――信息本身是否具有实际记载性并且已经实际进行了记载。
  “一定形式”为解释者提供了充足的、开放性的解释空间,但是法院在对于可供记录、保存的载体形式进行审查时,往往将审查的重点放在实际记载上,也即这个信息本身是可以被记载的,而且也确实做了记载,这也是从《条例》第2条所欲实现的功能――保证公民获取信息――角度进行的设置,因为毕竟“概念的建构、适用与调整自当心系于该概念实现预设之价值的功能”。如前所述,电话往来这一类的口头信息、社会传闻等一般没有以一定载体的形式出现,也就更谈不上记录和保存,从而也就不属于政府信息。此外,随着现实生活中信息载体的多元化,除了传统的纸、磁带、胶卷等载体以外,越来越多的信息以网络留言板、虚拟存储空间等载体出现,这也可能为政府信息的“一定形式”提供更为丰富的外延。回顾“张某与上海市规划和国土资源管理局案”中的情形,法院认定原告申请公开的“解决问题的方案”因为属于未被记载的电话口头往来,所以不属于政府信息。反过来讲,案中的电话口头往来若经过合法的记载,比如录音或者录音后的文字整理,那么根据法院的判断方式,就很可能属于“足以证明存在书面或其他形式保存的解决问题的相关方案”,也就顺理成章可能达到信息公开的目的了。
通过对法院判决的归纳,行政职权的行使、行政机关的实际持有和信息的实际记载已经成为法院认定政府信息的三大要素。重新审视《条例》第2条的规定,在法院的认定标准下似乎可以表述为“行政机关在行使自身职权的范围内实际持有的、经过记载的信息”。这一表述相比于现有的《条例》第2条,首先在职权的定位上更为明确,也即对行政机关职权的审查必须限定在其自身所有的、职权范围以内的职权,这实际上是对“履行职责”表述的进一步限定。其次,考虑到“获取”一词兼备日常生活用语和法律用语的意义,因此法院在适用时很容易遭遇两种意义不相一致甚至完全矛盾的困境,而“实际持有”则相对清晰地通过行政机关对信息掌握的程度来解决这一问题,这也使得法院在审查时变得较为容易。最后,“一定形式”的立法表述中固然可能有立法者意欲囊括尽可能多的记录载体的想法,但是在法院的解释中,还是设置了一定的界限――经过实际记载,也即司法认定下的“一定形式”已经有了内涵上的限缩,因此其是当前阶段实际情况的反映,也代表了一段时间内法院判决的着眼点,并可以在嗣后同类案件中不断进行修正和完善。
  基于上述分析,笔者发现,法院在86件判决事例中通过构筑“政府信息”的认定要件进而解决具体的案件争议,以《条例》第2条的规定为原点,已经大致发展出行政职权的行使、行政机关的实际持有和信息的实际记载三大要素。尽管这些判决来自不同地区、不同审级的法院,但是其对观察我国当前“政府信息”的现实样态具有“标本”的作用,特别是在当前我国建设案例指导制度的时代背景下,如果可以进一步“发现”其中的先例,这些判决是可以在发挥司法对于立法的具象化解释功能的同时产生“事实上存在的客观约束力”的。
  同时,通过梳理“政府信息”的认定标准也可以看到,我国当前的法律适用还处于不够统一的阶段。就一直以来我国所追求的形式意义上的“同案同判”而言,不同地区的不同法院对于相同或者类似问题的认定往往差异较大;同一地区的不同法院包括上、下级法院也大致如此,只有同一法院在多个案件中的判断相对而言具有一定时期内的稳定性,比如在对“公安机关从事刑事侦查活动中获取的信息”、“行政机关作为拆迁人获得的信息”的判断中,上海市第二中级人民法院在2010年和2011年的3个案件中保持了一致的判断方式和结论,而在2009年至2012年的5个案件中也保持了一致的判断方式和结论。但是总体来看,我国不同地区、不同法院对于案件中同类争点的判断还存在着较为明显的不同,特别是判断理由的不同,这也可以反过来解释最高人民法院2005年发布的《人民法院第二个五年改革纲要》所提到的建设案例指导制度的意义――“建立和完善案例指导制度,重视指导性案例在统一法律适用标准、指导下级法院审判工作、丰富和发展法学理论等方面的作用”。
  另外,体现在86件判决中涉及“政府信息”的认定过程中,还有遗留问题值得注意。即前已述及的内部性信息的判断问题,法院一般认为其缺少行政职责的履行从而将其排除出政府信息的范畴,这是最为典型的判决。但也有法院独辟蹊径,采取其他的路径加以判断:在张某向上海市某新区环境保护和市容卫生管理局分别申请公开“某新区排灌所已享受职工福利分房的名单及面积”和“某新区排灌所退休人员养老金名单清册”的两个案件中,法院均认为案涉信息属于行政机关或其下属事业单位的内部人事管理信息,而不属于《条例》规定应当公开的政府信息范畴。可以看出,这两件判决事例中的法院直接将内部信息认定为政府信息的不公开范围,从而不再去讨论其本身是否属于政府信息的问题,也即通过讨论不予公开范围的问题省去了适用《条例》第2条的过程,这是非常值得关注的现象,这一审查角度在部分同类案件中有所体现。
  最后,考虑到我国判决的公开力度不足、涉及政府信息判断的公报案例和指导性案例缺乏等客观因素的影响,从86件判决事例中抽象出的法院对于“政府信息”的司法认定标准还需要不断接受检验,特别是来源于嗣后指导案例或者典型案例的修正或者充实,才能最终逐渐形成较为确定的、也更有参考意义的认定标准。但是,这并不妨碍这一研究成果为当前的审判实践提供参考,特别是通过这一归纳、分析澄清对“政府信息”认定标准内容的认识,总结不同于英美法上“具有形式上拘束力”的判例而具有“事实上的拘束力”的现有判决,为今后审判实务的推进、认定标准的形成打下坚实的基础,相信这对于刚过五周年“诞辰”的《条例》来说,是一大利好消息。
注释:*本文系上海市政府决策咨询研究课题“与人民群众利益密切相关的公共企事业单位信息公开研究”(项目号2011-Z-20-A)的阶段性研究成果。同时,本文还得到国家留学基金资助。感谢在上海财经大学“第十一期判例研读沙龙青年工作坊”和上海交通大学“都市法学习会暨公法判例研读会”上诸位师友提出的批评和建议。 参见《卫生部仍拒公开生乳国标会议纪要申请人再起诉》,来源:.cn/c//.shtml,日访问。 参见《铁道部称火车票价不含矿泉水拒绝公开发放依据》,来源:.cn/n//clOOl-.html,日访问。 参见[德]卡尔•拉伦茨:《法学方法论》,陈爱娥译,商务印书馆2003年版,第6页。 参见张岩:《政府信息的认定》,载《中国行政管理》2012年第8期。 参见王敬波:《政府信息概念及其界定》,载《中国行政管理》2012年第8期;刘波:《政府信息概念理解上的三个问题》,载《中国行政管理》2012年第8期。 参见杨解君:《〈政府信息公开条例〉与相关法的协调》,载《江苏社会科学》2012年第5期。 参见张岩:《政府信息的认定》,载《中国行政管理》2012年第8期。 参见侯丹华:《政府信息公开行政诉讼有关问题研究》,载《行政法学研究》2010年第4期。另就“刑事行为信息是否属于政府信息的问题”,可参见于立深:《依申请政府信息公开制度运行的实证分析》,载《法商研究》2010年第2期。 参见王敬波:《政府信息概念及其界定》,载《中国行政管理》2012年第8期。 参见高秦伟:《何谓政府信息――基于〈政府信息公开条例〉第2条的解释》,载《江苏行政学院学报》2012年第5期。参见张岩:《政府信息的认定》,载《中国行政管理》2012年第8期。 参见王敬波:《政府信息概念及其界定》,载《中国行政管理》2012年第8期。 参见侯丹华:《政府信息公开行政诉讼有关问题研究》,载《行政法学研究》2010年第4期。 参见吕艳滨:《如何理解依申请公开中的政府信息概念》,载《中国行政管理》2012年第8期。 搜索网站为 (“北大法宝”数据库)、http://www.lawyee.net(“北大法意”数据库),搜索日期均为日。 参见浙江省高级人民法院课题组:《政府信息公开行政诉讼案件疑难问题研究――以浙江法院审理的行政案件为实证样本》,载《行政法学研究》2009年第4期。 参见(2012)浦行初字第141号行政判决书。 参见朱芒:《公共企事业单位应如何信息公开》,载《中国法学》2013年第2期。 参见(2011)南行终字第78号行政判决书。 参见中华人民共和国最高人民法院行政审判庭编:《中国行政审判案例》(第4卷),中国法制出版社2013年版,第24-29页。 参见(2012)浙杭行初字第98号行政判决书。 参见(2012)大行终字第84号行政判决书。 参见(2012)沪二中行终字第65号行政判决书。 (2011)市行初字第3号行政判决书。 (2010)沪一中行终字第270号行政判决书。 (2011)沪一中行终字第98号行政判决书、(2011)沪一中行终字第99号行政判决书、(2011)沪一中行终字第137号行政判决书、(2011)沪一中行终字第138号行政判决书。 参见(2012)沪二中行终字第93号行政判决书。 参见(2010)沪一中行终字第69号行政判决书。 比如“陈某某与上海市黄浦区绿化和市容管理局案”、“丁甲与上海市黄浦区人民政府案”、“丁某某与上海市黄浦区建设和交通委员会案1”、“丁某某与上海市黄浦区建设和交通委员会案2”,参见(2011)沪二中行终字第267号行政判决书、(2010)沪二中行初字第24号行政判决书、(2009)沪二中行终字第353号行政判决书和(2009)沪二中行终字第354号行政判决书。 (2012)芙蓉行初字第61号行政判决书、(2012)芙蓉行初字第76号行政判决书。 (2011)沪二中行终字第86号行政判决书。 (2010)沪二中行终字第299号行政判决书。 (2010)沪二中行终字第123号行政判决书。 参见(2012)芙蓉行初字第61号行政判决书、(2012)芙蓉行初字第76号行政判决书。 参见(2012)沪二中行终字第370号行政判决书。 参见(2012)浦行初字第114号行政判决书。 参见(2012)沪一中行终字第112号行政判决书。 参见(2011)沪二中行终字第76号行政判决书。 参见(2012)浦行初字第162号行政判决书、(2012)浦行初字第163号行政判决书。 参见(2012)浦行初字第84号行政判决书。 (2009)成行终字第153号行政判决书。 参见章剑生:《现代行政法基本理论》,法律出版社2008年版,第312页。 参见(2010)沪一中行终字第269号行政判决书。 (2012)沪一中行终字第112号行政判决书。 (2012)浦行初字第84号行政判决书。 参见上海市高级人民法院:《政府信息公开法律问题研究》,载中华人民共和国最高人民法院行政审判庭编:《行政执法与行政审判》(2008年第1集),人民法院出版社2008年版。 参见(2010)浙杭行初字第13号行政判决书。 参见黄茂荣:《法学方法与现代民法》,法律出版社2007年版,第66、67页。 参见曹康泰主编:《中华人民共和国政府信息公开条例读本》,人民出版社2009年版,第25页。 (2011)沪二中行终字第76号行政判决书。 参见朱芒:《行政诉讼中判例的客观作用――以两个案件的判决为例的分析》,载《华东政法大学学报》2009年第1期。 参见胡云腾、于同志:《案例指导制度若干重大疑难争议问题研究》,载《法学研究》2008年第6期。 (2012)沪一中行终字第228号行政判决书。 (2012)沪一中行终字第229号行政判决书。 比如“张某与上海市浦东新区环境保护和市容卫生管理局案”、“张某某与上海市浦东新区环境保护和市容卫生管理局案”,分别参见(2012)浦行初字第73号行政判决书、(2012)浦行初字第96号行政判决书。
作者简介:王军,上海交通大学凯原法学院博士研究生,美国杜克大学与上海交通大学联合培养博士研究生。
文章来源:《华东政法大学学报》2014年第1期。
发布时间:

我要回帖

更多关于 文本编辑器下载 的文章

 

随机推荐