Skip to content

Commit 348f68e

Browse files
committed
local/deliverable: refactor content model
* Distinguish between regular, default deliverable and an translated deliverable. The latter only has ref or prebuilt * Make <dc> a child element with git, subdir, format, and partners * Allow id in <deliverable> for en-us, but not for translations * Cleaned up some models
1 parent b2780f4 commit 348f68e

1 file changed

Lines changed: 97 additions & 43 deletions

File tree

src/docbuild/config/xml/data/portal-config-schema.rnc

Lines changed: 97 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -989,8 +989,9 @@ ds.locale_default =
989989
ds.branch,
990990
ds.subdir?,
991991
(
992-
ds.deliverable |
993-
ds.deliverable_subdeliverable
992+
ds.deliverable_en_us_dc
993+
| ds.deliverable_subdeliverable
994+
| ds.deliverable_en_us_prebuilt
994995
)+
995996
}
996997
}
@@ -1007,14 +1008,32 @@ ds.locale_translation =
10071008
ds.lang.attr,
10081009
ds.branch,
10091010
ds.subdir?,
1010-
(
1011-
ds.deliverable |
1012-
ds.deliverable_subdeliverable
1013-
)+
1011+
1012+
ds.deliverable_trans+
10141013
}
10151014
}
10161015

10171016

1017+
div {
1018+
ds.deliverable.trans.type.attr =
1019+
[ a:defaultValue = "ref" ]
1020+
attribute type { "ref" }
1021+
1022+
ds.deliverable_trans =
1023+
## A document to build for a translation, identified by the DC file of the default language deliverable
1024+
element deliverable {
1025+
(
1026+
ds.gated.attr?
1027+
& ds.deliverable.trans.type.attr
1028+
),
1029+
#
1030+
(ds.ref | ds.deliverable.prebuilt)
1031+
}
1032+
1033+
}
1034+
1035+
1036+
10181037
[
10191038
db:refname [ "branch" ]
10201039
db:refpurpose [ "Branch of the source Git repository" ]
@@ -1056,69 +1075,94 @@ ds.partners =
10561075

10571076

10581077
[
1059-
db:refname [ "deliverable" ]
1060-
db:refpurpose [ "Definition of an individual document (default language)" ]
1078+
db:refname [ "deliverable (dc)" ]
1079+
db:refpurpose [ "Definition of an individual document built by DAPS (default language)" ]
10611080
]
10621081
div {
1063-
ds.deliverable =
1064-
## An individual document (default language)
1082+
ds.deliverable.dc.type.attr =
1083+
[ a:defaultValue = "dc" ]
1084+
attribute type { "dc" }
1085+
1086+
ds.deliverable_en_us_dc =
1087+
## An individual document built by DAPS (default language)
10651088
element deliverable {
1066-
ds.remarks.attr?,
1067-
ds.draft.attr?,
1068-
# ds.meta.attr?,
1069-
ds.category.attr?,
1070-
ds.titleformat.attr?,
1071-
ds.gated.attr?,
1072-
ds.id.attr,
1073-
#
10741089
(
1075-
ds.deliverable.dc
1076-
|
1077-
ds.deliverable.prebuilt
1078-
)
1090+
ds.deliverable.dc.type.attr?
1091+
& ds.remarks.attr?
1092+
& ds.draft.attr?
1093+
# & ds.meta.attr?
1094+
& ds.category.attr?
1095+
& ds.titleformat.attr?
1096+
& ds.gated.attr?
1097+
& ds.id.attr
1098+
),
1099+
#
1100+
ds.dc
1101+
#ds.git?,
1102+
#ds.subdir?,
1103+
#ds.format,
1104+
#ds.partners*
10791105
}
10801106
}
10811107

1108+
10821109
[
1083-
db:refname [ "dc" ]
1084-
db:refpurpose [ "Standard DocBook/DAPS deliverable definition" ]
1110+
db:refname [ "deliverable (prebuilt)" ]
1111+
db:refpurpose [ "Definition of an individual prebuilt document (default language)" ]
10851112
]
10861113
div {
1087-
ds.deliverable.dc.type.attr =
1088-
[ a:defaultValue = "dc" ]
1089-
attribute type { "dc" }
1114+
ds.deliverable.prebuilt.type.attr =
1115+
[ a:defaultValue = "prebuilt" ]
1116+
attribute type { "prebuilt" }
10901117

1091-
ds.deliverable.dc =
1092-
## Standard DocBook/DAPS deliverable definition
1093-
ds.deliverable.dc.type.attr?,
1094-
ds.dc,
1095-
ds.format+,
1096-
ds.subdir?,
1097-
ds.git?,
1098-
ds.partners*
1118+
ds.deliverable_en_us_prebuilt =
1119+
##
1120+
element deliverable {
1121+
(
1122+
ds.deliverable.prebuilt.type.attr?
1123+
& ds.category.attr?
1124+
& ds.titleformat.attr?
1125+
& ds.gated.attr?
1126+
& ds.id.attr
1127+
),
1128+
#
1129+
ds.deliverable.prebuilt
1130+
}
10991131
}
11001132

11011133

1134+
11021135
[
11031136
db:refname [ "prebuilt" ]
11041137
db:refpurpose [ "Pre-built content definition" ]
11051138
]
11061139
div {
1107-
ds.deliverable.html.type.attr =
1108-
attribute type { "html" }
1109-
11101140
ds.deliverable.prebuilt =
11111141
## Pre-built content definition
11121142
element prebuilt {
1113-
ds.id.attr,
1114-
ds.deliverable.html.type.attr,
11151143
ds.title,
11161144
ds.subtitle?,
1117-
(ds.desc_default | ds.desc_translation)+,
1118-
ds.link
1145+
ds.descriptions,
1146+
ds.url+
1147+
# ds.link+
1148+
# ds.metadata # TODO
11191149
}
11201150
}
11211151

1152+
1153+
[
1154+
db:refname [ "metadata" ]
1155+
db:refpurpose [ "" ]
1156+
]
1157+
div {
1158+
ds.metadata =
1159+
##
1160+
element metadata {
1161+
empty # TODO
1162+
}
1163+
}
1164+
1165+
11221166
[
11231167
db:refname [ "deliverable" ]
11241168
db:refpurpose [ "Definition of an individual document that is a DocBook set/book that includes articles/book (default language)" ]
@@ -1144,10 +1188,20 @@ ds.deliverable_subdeliverable =
11441188
db:refpurpose [ "Reference to DC file" ]
11451189
]
11461190
div {
1191+
ds.dc.file.attr =
1192+
##
1193+
attribute file {
1194+
ds.type.dcfile
1195+
}
1196+
11471197
ds.dc =
11481198
## Reference to DC file
11491199
element dc {
1150-
ds.type.dcfile
1200+
ds.dc.file.attr,
1201+
ds.git?,
1202+
ds.subdir?,
1203+
ds.format,
1204+
ds.partners*
11511205
}
11521206
}
11531207

0 commit comments

Comments
 (0)