欢迎来到THBWiki!
如果您是第一次来到这里,请点击右上角注册一个帐户
有任何意见、建议、求助、反馈都可以在
讨论板
提出
THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正
查看“帮助:SMW”的源代码
←
帮助:SMW
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
少女
您没有权限编辑
帮助
命名空间内的页面。
您可以查看和复制此页面的源代码。
====subobject==== {{帮助SMW-测试警告-小}} 解析函数<code>#subobject</code>允许用户注释与子对象有关的内容。<br /> 子对象类似于页面,它也有自己的属性及属性的值,但子对象在维基中没有词条页面。<br /> 子对象可以用于给页面的众多属性及值“分组”,而不用新建辅助页面。<br /> 使用[[#特殊属性|特殊属性]]“'''有无子对象'''”,可以查找使用了本函数来指定属性值的页面。 解析函数<code>#set_recurring_event</code>会使用子对象来存储属性值(详见[[#set_recurring_event|set_recurring_event]]函数段落)。 ;语法格式 :{{pre|<nowiki> {{#subobject:子对象名称 |属性1=值 |属性2=值1,值2,值3|+sep=, |属性3=值1|值2|值3 |... }} </nowiki>}} :和<code>#set</code>函数一样,对于多值的属性,可以使用分隔符来分隔多个值。 :你可以参看[[#set|set]]函数的“使用‘分隔符’参数”部分。本段落后文中有分隔符发展的过程介绍。 :对于上方示例代码,解释如下: :可以用<code>+sep=</code>来指定分隔符(如上方代码的“属性2”使用了全角逗号<code>,</code>作为分隔符,在中文页面上较为方便)。 :在使用了<code>+sep=</code>后若指定分隔符留空,则默认使用半角逗号<code>,</code>作为分隔符。 :在不使用<code>+sep=</code>的情况下,可以直接使用管道符<code>|</code>作为分隔符。 :;说明: ::与<code>#set</code>函数类似,<code>#subobject</code>函数也是一种静默注释,它为属性赋值时不对页面输出任何字符。 ;给相同属性指定多值 :;多行书写: ::{{pre|<nowiki> {{#subobject:子对象名 属性1=值1 属性1=值2 属性2=值1 属性2=值2 ... }} </nowiki>}} :;一行书写,使用管道符分隔: ::从[https://www.semantic-mediawiki.org/wiki/SMW_1.8.0 SMW 1.8.0]版本起,可以使用管道符<code>|</code>来分隔多个值。 ::添加此规定不会给属性值的输入增加限制,且大大方便了多值的输入,下面这些代码和上面的例子作用一样: ::{{pre|<nowiki> {{#subobject:子对象名 属性1=值1|值2 属性2=值1|值2 ... }} </nowiki>}} :;一行书写,使用指定分隔符: ::从[https://www.semantic-mediawiki.org/wiki/SMW_1.9.0 SMW 1.9.0]版本起,加入了<code>|+sep=...</code>来指定分隔符: ::{{pre|<nowiki> {{#subobject:子对象名 |属性1=值1;值2|+sep=; |属性2=值1,值2|+sep=, ... }} </nowiki>}} ;指定标识符 :可以给子对象命名一个“标识符”,用来直接说明一组属性值是哪种类型的数据。 :;命名标识符: ::比如,这个子对象给[[博丽灵梦]]页面说明她在作品中的登场信息,用<code>登场信息</code>来标识这个子对象: ::{{pre|<nowiki> {{#subobject:登场信息 |红魔乡登场=自机 |妖妖梦登场=自机 |萃梦想登场=自机 |永夜抄登场=自机,四面BOSS A|+sep=, |花映冢登场=自机|敌机 ... }} </nowiki>}} ::命名标识符的前五个字符里不允许出现半角句点<code>.</code>,这种带点的命名是留给一些扩展用的。 :;无名标识符: ::[https://www.semantic-mediawiki.org/wiki/SMW_1.8.0 SMW 1.8.0]支持给没有命名的子对象分配无名标识符(哈希编号)。 ::如果两个子对象实体在同一页面中,且内容相同,则它们的哈希值也相同,所以只有一个子对象实体会被存储并可用于查询。 ::{{pre|<nowiki> {{#subobject:| ... }} </nowiki>}} ::标识符开头带有: ::*<code>_QUERY...</code>标记查询元容器; ::*<code>_ERR...</code>标记错误容器; ;指定排序值 :[https://www.semantic-mediawiki.org/wiki/SMW_2.0 SMW 2.0]版本引入了<code>|@sortkey=...</code>,允许给子对象指定一个任意的排序值。 :排序值是大小写敏感的,也就是说,排序值被当作“字符串”来存储,但不会显示出来。 :子对象的排序值可以像其他维基页面的排序值一样,用作排序。 :比如还是上方灵梦登场信息的例子: :{{pre|<nowiki> {{{{#subobject:登场信息 |红魔乡登场=自机 |妖妖梦登场=自机 |萃梦想登场=自机 |永夜抄登场=自机,四面BOSS A|+sep=, |花映冢登场=自机|敌机 ... |@sortkey=A }} </nowiki>}} :此处的排序值就是“A”。 ;概念说明 :;使用属性: ::如果两个子对象内的声明相同,则它们就会被当作同一个子对象,技术上使用哈希值来比较两者。 ::但如果它们描述的内容不一致,如使用了命名标识符,则会被视为不同。 ::给内容相同的两个子对象指定不同的名字,会创建两个独立的子对象实体。 ::比如假设当前页面用于记录各个角色的基本信息,有可能出现: ::{{pre|<nowiki> {{#subobject: |种族=人类 }} {{#subobject: |种族=人类 }} </nowiki>}} ::这两个子对象就是相同的。 ::然而: ::{{pre|<nowiki> {{#subobject:灵梦 |种族=人类 }} {{#subobject:魔理沙 |种族=人类 }} </nowiki>}} ::这两个子对象虽然在声明内容上相同,但命名不同,一个表示的是<code>当前标题#灵梦</code>,另一个是<code>当前标题#魔理沙</code>。 ::另一种区分方式是使用<code>|@sortkey=...</code>给两个子对象指定排序值: ::{{pre|<nowiki> {{#subobject: |种族=人类 |@sortkey=灵梦 }} {{#subobject: |种族=人类 |@sortkey=魔理沙 }} </nowiki>}} ::这两个子对象会被当作不同的实体,可以分别查询。 :;使用分类: ::对于[https://www.semantic-mediawiki.org/wiki/SMW_2.3 SMW 2.3],可以使用<code>|@category=...</code>来给子对象指定分类。 ::指定了分类的子对象,在查询该分类时可以找到,但是不会出现在“分类:...”的页面上,因为子对象是SMW引入的概念,与MW无关。 ::由于本地维基SMW版本为2.1.1,无法使用上述分类功能,但可以只用属性功能来实现: ::*使用属性来代替分类,创建一个类似分类名称的属性,比如“属性:主角二人组”。 ::*这里不考虑这个属性的值。 ::*使用[[#特殊属性|特殊属性]]“'''所属的子属性'''”,可以将这些类似分类的属性建立一个嵌套层次结构,比如“属性:主角二人组”是“属性:新作角色”的一员,“属性:新作角色”又是“属性:官方角色”的一员。使用这种方式来模仿分类的层次结构。 ::*对分类的查询使用<code><nowiki>[[分类:新作角色]]</nowiki></code>,可以查询分类和其子分类的内容;对于此处,我们可以使用<code><nowiki>[[新作角色::+]]</nowiki></code>来查询,也能查询属性和其子属性中的页面和子对象。 ;查询子对象 :此处仅作简单描述,详见[[#查询子对象|查询子对象]]。 :子对象可以当作页面来使用。 :查询子对象的简单方法是查询子对象中包含的独一无二的属性,如: :{{pre|<nowiki> {{#ask: [[红魔乡登场::+]] |?永夜抄登场 |?风神录登场 ... }} </nowiki>}} :这里例子用到的是角色的登场信息,在本段落上文中有描述。 :此处查询的是在红魔乡中有登场的角色,在其他几作中的登场情况。 :(本例为虚构,所以测试此段代码是不会有结果的,故不标记为绿色代码。) :为了在查询时更加方便,你可以给子对象添加“伪”属性。 :比如给所有具有登场信息的角色子对象添加“有登场信息=1”,则查询<code><nowiki>[[有登场信息::1]]</nowiki></code>,即可找到所有具备登场信息的子对象。 :关于[[#ask|ask]]函数的用法请见其自己的说明段落。
返回
帮助:SMW
。
导航菜单
个人工具
创建账号
登录
命名空间
帮助
讨论
查看
阅读
源码
查看历史
更多
搜索
常用
首页
东方Project
上海爱丽丝幻乐团
ZUN
幻想乡
幻想乡年表
东方年表
东方同人规约
近期新闻
沙盒(建议使用)
讨论板
加入我们
官方作品
官方游戏
旧作
东方灵异传
东方封魔录
东方梦时空
东方幻想乡
东方怪绮谈
东方红魔乡
东方妖妖梦
东方永夜抄
东方花映塚
东方风神录
东方地灵殿
东方星莲船
东方神灵庙
东方辉针城
东方绀珠传
东方天空璋
东方鬼形兽
东方虹龙洞
东方兽王园
小数点射击游戏
东方文花帖
东方文花帖DS
妖精大战争
弹幕天邪鬼
秘封噩梦日记
弹幕狂们的黑市
黄昏边境合作游戏
东方萃梦想
东方绯想天
东方非想天则
东方心绮楼
东方深秘录
东方凭依华
东方刚欲异闻
官方音乐
原曲列表
非音乐CD音乐列表
音乐CD曲目列表
蓬莱人形
莲台野夜行
梦违科学世纪
卯酉东海道
大空魔术
未知之花 魅知之旅
鸟船遗迹
伊奘诺物质
燕石博物志
旧约酒馆
虹色的北斗七星
七夕坂梦幻能
幺乐团的历史系列
幺乐团的历史 vol.1
幺乐团的历史 vol.2
幺乐团的历史 vol.3
幺乐团的历史 vol.4
幺乐团的历史 vol.5
格斗游戏OST
幻想曲拔萃
全人类的天乐录
核热造神非想天则
暗黑能乐集心绮楼
深秘乐曲集
深秘乐曲集·补
完全凭依唱片名录
贪欲之兽的音乐
商业出版物附带CD
官方书籍
东方香霖堂
东方三月精
第一季
月之妖精
第二季
第三季
第四季
东方文花帖
风之号外
东方紫香花
六十年不见的紫香花
东方儚月抄
漫画
小说
四格
东方茨歌仙
东方铃奈庵
东方醉蝶华
东方智灵奇传
东方求闻史纪
记忆幻想乡
东方求闻口授
魔理沙的魔法书
宇佐见的魔法书
东方外来韦编
东方文果真报
东方人妖名鉴
宵暗篇
常世篇
幻想Narrato Graph
官方角色
公式资料
附带文档
游戏对话
官方作品光盘信息
角色自称用词表
官作译名更改记录
原作物品列表
出典文献列表
其他ZUN参与的作品
西方Project
黄昏酒场
东方关联人物
游戏攻略
东方相关活动
从第二家开始的广播
东方STATION
数码游戏博览会
PoriPori☆Club
niconico超会议
斗会议
niconico原创游戏祭
枯萎Radio
GDGD
其他相关项目
东方我乐多丛志
东方四方山新闻
Play,Doujin!
东方电书流通
东方音乐流通
二次创作与活动
展会及活动导航
Comic Market
博丽神社例大祭
博丽神社例大祭SP
博丽神社秋季例大祭
博丽神社例大祭in台湾
海外博丽神社例大祭
博丽神社歌谣祭
博丽神社崇敬会相关活动
COMICUP
上海THONLY
东方Only活动
东方红楼梦
角色Only活动
作品Only活动
地区Only活动
其他地区举办的展会
其他展会
M3
COMIC1
展会作品列表
展会作品数量
展会同人志列表
展会专辑列表
展会软件列表
展会视频列表
商业二次创作
电脑游戏
东方月神夜
家用机游戏
Play,Doujin
手机游戏
东方大炮弹
东方LostWord
东方Dungeon Dive
东方弹幕神乐
东方幻想Eclipse
同人二次创作
同人社团列表
同人志分类
同人专辑分类
同人专辑搜索
原曲作品数量
同人软件列表
Steam游戏列表
同人角色列表
同人视频列表
其他形式同人
同人文章列表
同人画师列表
同人封面角色
东方相关周边
PVCFigure
GarageKit
小型物品
其他形式周边
MUGEN
THB相关项目
THB策划
中文东方人气投票
东深见讲坛
幻想乡柱状地图
THB衍生
同人专辑搜索
原曲认知测验
东方相关QQ群组列表
THB媒体
微博
Bilibili
直播间
GitHub
THB协力
博丽神主ZUN微博
东方我乐多丛志
MineCraft幻想乡
京都幻想剧团
幻奏盛宴
功能与帮助
最近更改
随机浏览
编写规范
收录方针
命名规范
同人社团
同人音乐
封面图片
二次设定
编辑帮助
基础帮助
常用模板
进阶代码
函数用法
编写翻译表
语义维基
样式类用法
颜色列表
工具
链入页面
相关更改
特殊页面
页面信息
其他
联系管理员
关于THBWiki
捐款支持
语言
English
italiano
日本語
中文