所有文章
- LotusScript 裡的 XML 宣告、DTD 節點與 SAX 錯誤
Domino DOM 裡很少見的那一層 —— XML 宣告、DOCTYPE、processing instruction、notation、entity —— 加上 SAX 那一側的 NotesSAXException。本文說明每個節點實際給你什麼(多半:沒什麼)、你必須先設好才看得到宣告的 AddXMLDeclNode 旗標,以及為什麼 NotesSAXException 是解析出錯時唯一能拿到含行列號豐富錯誤資料的地方。
2026.07.05 - 承載內容的 DOM 節點:LotusScript 的 TextNode、AttributeNode、Comment、CDATASection
當你開始巡覽解析後的 DOM,真正的資料住在內容節點裡 —— 文字、屬性、註解、CDATA。本文說明繼承關係(CharacterData 是 Text/Comment/CDATA 的基底;CDATA 衍生自 Text;AttributeNode 自成一格)、CharacterData 的編輯方法,以及最大的陷阱:LotusScript 繫結是透過 NodeValue 讀內容 —— 沒有 W3C 風格的 Data、Length、Name 或 Value 屬性。
2026.07.04 - 用 LotusScript 巡覽解析後的 XML DOM:DocumentNode、ElementNode、NodeList、NamedNodeMap
NotesDOMParser 把 XML 解析完之後,你用一組節點類別來導覽結果。本文說明怎麼從 domParser.Document 取得根、用 DocumentElement 抵達根元素、用 GetElementsByTagName 查詢(回傳 NotesDOMNodeList)、透過元素的 NamedNodeMap 讀屬性,以及 LotusScript 特有的眉角:GetItem 是 1-based、沒有 ChildNodes 屬性(用 FirstChild/NextSibling 走)、也沒有 GetItemByName。
2026.07.03 - NotesRichTextDocLink 與 NotesRichTextSection:用程式做 doclink 與摺疊區段
兩個你平常會在 Designer 裡手動插入的 rich-text 功能 —— 跳到資料庫/view/文件的 doclink,以及可摺疊區段 —— 都能用程式做。但這兩個類別都不是你 New 出來的:你透過 NotesRichTextItem(AppendDocLink、BeginSection/EndSection)建立元件,再透過 NotesRichTextNavigator 讀回來。本文說明這個「寫用一套 API、讀用另一套」的拆分、doclink 屬性、BeginSection/EndSection 規則,以及陷阱。
2026.07.02 - NotesRichTextParagraphStyle、NotesRichTextTab 與 NotesColorObject:用程式排版 rich text
用 LotusScript 產 rich text 不只是接字串 —— 邊界、對齊、行距、tab 停點、顏色都是你在「加文字之前」蓋上去的獨立物件。本文說明 NotesRichTextParagraphStyle(版面)、NotesRichTextTab(tab 停點,由 style 唯讀生出)、NotesColorObject(色彩運算)、twips 度量、「先蓋 style 再加文字」規則,以及那個不直覺的點:NotesColorObject 不會直接幫文字上色 —— 你是用它推算出一個 Domino 色值。
2026.07.01 - NotesInternational:別再寫死日期分隔符號和貨幣符號
NotesInternational 是一扇唯讀的窗,讓你看見程式所在那台機器的地區設定 —— 日期順序、分隔符號、上午/下午字串、貨幣符號與格式、時區、以及 DST 旗標。本文說明怎麼從 session.International 取得、值得知道的屬性分組、一段偵測地區日期順序的可跑範例,以及三個陷阱:它反映的是執行端 OS(不是終端使用者)、它是唯讀的、而它的 TimeZone 正負號是經典又反直覺的 Notes 慣例。
2026.06.30